set (BUILD_RELEASE_DISABLE_EXCEPTIONS ON CACHE BOOL "${BUILD_RELEASE_DISABLE_EXCEPTIONS_DESCR}")
endif()
+if (MSVC)
+ set (BUILD_FORCE_RelWithDebInfo OFF CACHE BOOL "${BUILD_FORCE_RelWithDebInfo_DESCR}")
+else()
+ set (BUILD_FORCE_RelWithDebInfo OFF)
+endif()
+
+if (BUILD_FORCE_RelWithDebInfo)
+ set (CMAKE_CONFIGURATION_TYPES Release Debug CACHE INTERNAL "" FORCE)
+endif()
+
# option to enable or disable use of precompiled headers
if (NOT DEFINED BUILD_USE_PCH)
set (BUILD_USE_PCH OFF CACHE BOOL "${BUILD_USE_PCH_DESCR}")
set (USE_FFMPEG OFF CACHE BOOL "${USE_FFMPEG_DESCR}")
set (USE_OPENVR OFF CACHE BOOL "${USE_OPENVR_DESCR}")
set (USE_RAPIDJSON OFF CACHE BOOL "${USE_RAPIDJSON_DESCR}")
+set (USE_DRACO OFF CACHE BOOL "${USE_DRACO_DESCR}")
set (USE_TBB OFF CACHE BOOL "${USE_TBB_DESCR}")
set (USE_EIGEN OFF CACHE BOOL "${USE_EIGEN_DESCR}")
-if (APPLE)
- set (USE_GLX OFF CACHE BOOL "${USE_GLX_DESCR}")
+if (WIN32 OR ANDROID OR IOS OR EMSCRIPTEN)
+ # no Xlib
+elseif (APPLE)
+ set (USE_XLIB OFF CACHE BOOL "${USE_XLIB_DESCR}")
else()
- set (USE_GLX OFF)
+ set (USE_XLIB ON CACHE BOOL "${USE_XLIB_DESCR}")
endif()
if (WIN32)
endif()
endforeach()
-# DRAWEXE excluded when library build is static
-if (NOT BUILD_SHARED_LIBS)
- list (REMOVE_ITEM BUILD_TOOLKITS DRAWEXE)
- message (STATUS "Info: DRAWEXE is not included due to ${BUILD_LIBRARY_TYPE} build library type")
-endif()
-
# accumulate all used toolkits
list (REMOVE_DUPLICATES BUILD_TOOLKITS)
set (RAW_BUILD_TOOLKITS)
OCCT_IS_PRODUCT_REQUIRED (CSF_FreeImagePlus CAN_USE_FREEIMAGE)
OCCT_IS_PRODUCT_REQUIRED (CSF_TclLibs USE_TCL)
OCCT_IS_PRODUCT_REQUIRED (CSF_TclTkLibs CAN_USE_TK)
+OCCT_IS_PRODUCT_REQUIRED (CSF_XwLibs CAN_USE_XLIB)
OCCT_IS_PRODUCT_REQUIRED (CSF_FREETYPE CAN_USE_FREETYPE)
OCCT_IS_PRODUCT_REQUIRED (CSF_OpenGlLibs CAN_USE_OPENGL)
OCCT_IS_PRODUCT_REQUIRED (CSF_OpenGlesLibs CAN_USE_GLES2)
OCCT_CHECK_AND_UNSET ("INSTALL_TK")
endif()
+# Xlib
+if (CAN_USE_XLIB)
+ if (USE_XLIB)
+ message (STATUS "Info: Xlib is used by OCCT")
+ add_definitions (-DHAVE_XLIB)
+ if (APPLE)
+ OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/glx")
+ endif()
+ endif()
+else()
+ OCCT_CHECK_AND_UNSET ("USE_XLIB")
+endif()
+
# FreeType
if (CAN_USE_FREETYPE)
if (USE_FREETYPE)
endif()
endif()
-# GLX
-if (USE_GLX)
- add_definitions (-DMACOSX_USE_GLX)
- OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/glx")
-endif()
-
# FREEIMAGE
if (CAN_USE_FREEIMAGE)
if (USE_FREEIMAGE)
OCCT_CHECK_AND_UNSET ("INSTALL_RAPIDJSON")
endif()
+# Draco library
+# search for CSF_Draco variable in EXTERNLIB of each being used toolkit
+OCCT_IS_PRODUCT_REQUIRED (CSF_Draco CAN_USE_DRACO)
+if (CAN_USE_DRACO)
+ if (USE_DRACO)
+ add_definitions (-DHAVE_DRACO)
+ OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/draco")
+ else()
+ OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_DRACO")
+ OCCT_CHECK_AND_UNSET ("INSTALL_DRACO")
+ endif()
+else()
+ OCCT_CHECK_AND_UNSET ("USE_DRACO")
+
+ OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_DRACO")
+ OCCT_CHECK_AND_UNSET ("INSTALL_DRACO")
+endif()
+
# EIGEN
if (CAN_USE_EIGEN)
if (USE_EIGEN)
set (SET_OpenCASCADE_WITH_D3D "set (OpenCASCADE_WITH_D3D ${USE_D3D})")
endif()
if (APPLE)
- set (SET_OpenCASCADE_WITH_GLX "set (OpenCASCADE_WITH_GLX ${USE_GLX})")
+ set (SET_OpenCASCADE_WITH_GLX "set (OpenCASCADE_WITH_GLX ${USE_XLIB})")
endif()
# Configure and install cmake config file