set (CMAKE_CONFIGURATION_TYPES ${BUILD_CONFIGURATION} CACHE INTERNAL "" FORCE)
+# set type of OCCT libraries
+if (NOT BUILD_LIBRARY_TYPE)
+ set (BUILD_LIBRARY_TYPE "Shared" CACHE STRING "The type of OCCT libraries" FORCE)
+ SET_PROPERTY(CACHE BUILD_LIBRARY_TYPE PROPERTY STRINGS Shared Static)
+endif()
+
+if ("${BUILD_LIBRARY_TYPE}" STREQUAL "Shared")
+ set (BUILD_SHARED_LIBS ON)
+else()
+ unset (BUILD_SHARED_LIBS)
+endif()
+
# the name of the project
project (OCCT)
endif()
set (USE_FREEIMAGE OFF CACHE BOOL "Is freeimage used or not")
+set (USE_VTK OFF CACHE BOOL "Is VTK used or not")
if (NOT DEFINED ANDROID)
set (USE_GL2PS OFF CACHE BOOL "Is gl2ps used or not")
set (3RDPARTY_DIR "$ENV{3RDPARTY_DIR}" CACHE PATH ${3RDPARTY_DIR_LABEL} FORCE)
elseif (EXISTS "${CMAKE_SOURCE_DIR}/../")
# in version 6.7.0 and above, occt parent directory contains 3rdparties
- GET_FILENAME_COMPONENT(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../" ABSOLUTE)
- SET(3RDPARTY_DIR "${3RDPARTY_DIR}" CACHE PATH ${3RDPARTY_DIR_LABEL} FORCE)
+ get_filename_component (3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../" ABSOLUTE)
+ set (3RDPARTY_DIR "${3RDPARTY_DIR}" CACHE PATH ${3RDPARTY_DIR_LABEL} FORCE)
endif()
endif()
message (STATUS "Info: tcl is used by OCCT")
OCCT_INCLUDE_CMAKE_FILE ("adm/templates/tcl")
else()
- OCCT_CHECK_AND_UNSET ("3RDPARTY_TCL_DIR")
- OCCT_CHECK_AND_UNSET ("3RDPARTY_TCL_INCLUDE_DIR")
- OCCT_CHECK_AND_UNSET ("3RDPARTY_TCL_LIBRARY")
- OCCT_CHECK_AND_UNSET ("3RDPARTY_TCL_LIBRARY_DIR")
- OCCT_CHECK_AND_UNSET ("3RDPARTY_TK_INCLUDE_DIR")
- OCCT_CHECK_AND_UNSET ("3RDPARTY_TK_LIBRARY")
- OCCT_CHECK_AND_UNSET ("3RDPARTY_TK_LIBRARY_DIR")
-endif()
-
-# GLX
-if (USE_GLX)
- add_definitions (-DMACOSX_USE_GLX)
- OCCT_INCLUDE_CMAKE_FILE ("adm/templates/glx")
+ OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TCL")
+ OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TK")
endif()
# search for CSF_FREETYPE variable in EXTERNLIB of each being used toolkit
message (STATUS "Info: freetype is used by OCCT")
OCCT_INCLUDE_CMAKE_FILE ("adm/templates/freetype")
else()
- OCCT_CHECK_AND_UNSET ("3RDPARTY_FREETYPE_DIR")
+ OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREETYPE")
OCCT_CHECK_AND_UNSET ("3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2")
OCCT_CHECK_AND_UNSET ("3RDPARTY_FREETYPE_INCLUDE_DIR_ft2build")
- OCCT_CHECK_AND_UNSET ("3RDPARTY_FREETYPE_LIBRARY")
- OCCT_CHECK_AND_UNSET ("3RDPARTY_FREETYPE_LIBRARY_DIR")
+endif()
+
+# VTK
+if (USE_VTK)
+ add_definitions (-DHAVE_VTK)
+ OCCT_INCLUDE_CMAKE_FILE ("adm/templates/vtk")
+endif()
+
+# GLX
+if (USE_GLX)
+ add_definitions (-DMACOSX_USE_GLX)
+ OCCT_INCLUDE_CMAKE_FILE ("adm/templates/glx")
endif()
# FREEIMAGE
if (USE_FREEIMAGE)
add_definitions (-DHAVE_FREEIMAGE)
- message (STATUS "Info: freeimage is used by OCCT")
OCCT_INCLUDE_CMAKE_FILE ("adm/templates/freeimage")
OCCT_INCLUDE_CMAKE_FILE ("adm/templates/freeimageplus")
else()
# GL2PS
if (USE_GL2PS)
add_definitions (-DHAVE_GL2PS)
- message (STATUS "Info: gl2ps is used by OCCT")
OCCT_INCLUDE_CMAKE_FILE ("adm/templates/gl2ps")
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_GL2PS")
# OPENCL
if (USE_OPENCL)
add_definitions (-DHAVE_OPENCL)
- message (STATUS "Info: OpenCL is used by OCCT")
OCCT_INCLUDE_CMAKE_FILE ("adm/templates/opencl")
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_OPENCL")
# TBB
if (USE_TBB)
- ADD_DEFINITIONS(-DHAVE_TBB)
- message (STATUS "Info: tbb is used by OCCT")
+ add_definitions (-DHAVE_TBB)
OCCT_INCLUDE_CMAKE_FILE ("adm/templates/tbb")
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBB")
message (FATAL_ERROR "NOT FOUND: ${3RDPARTY_NOT_INCLUDED}" )
endif()
-list (REMOVE_DUPLICATES 3RDPARTY_INCLUDE_DIRS)
-string (REGEX REPLACE ";" "\n\t" 3RDPARTY_INCLUDE_DIRS_WITH_ENDS "${3RDPARTY_INCLUDE_DIRS}")
-message (STATUS "The directories containing 3rdparty headers: ${3RDPARTY_INCLUDE_DIRS_WITH_ENDS}")
-include_directories (${3RDPARTY_INCLUDE_DIRS})
+if (3RDPARTY_INCLUDE_DIRS)
+ list (REMOVE_DUPLICATES 3RDPARTY_INCLUDE_DIRS)
+ string (REGEX REPLACE ";" "\n\t" 3RDPARTY_INCLUDE_DIRS_WITH_ENDS "${3RDPARTY_INCLUDE_DIRS}")
+ message (STATUS "The directories containing 3rdparty headers: ${3RDPARTY_INCLUDE_DIRS_WITH_ENDS}")
+ include_directories (${3RDPARTY_INCLUDE_DIRS})
+endif()
-list (REMOVE_DUPLICATES 3RDPARTY_LIBRARY_DIRS)
-string (REGEX REPLACE ";" "\n\t" 3RDPARTY_LIBRARY_DIRS_WITH_ENDS "${3RDPARTY_LIBRARY_DIRS}")
-message (STATUS "The directories containing 3rdparty libraries: ${3RDPARTY_LIBRARY_DIRS_WITH_ENDS}")
-link_directories (${3RDPARTY_LIBRARY_DIRS})
+if (3RDPARTY_LIBRARY_DIRS)
+ list (REMOVE_DUPLICATES 3RDPARTY_LIBRARY_DIRS)
+ string (REGEX REPLACE ";" "\n\t" 3RDPARTY_LIBRARY_DIRS_WITH_ENDS "${3RDPARTY_LIBRARY_DIRS}")
+ message (STATUS "The directories containing 3rdparty libraries: ${3RDPARTY_LIBRARY_DIRS_WITH_ENDS}")
+ link_directories (${3RDPARTY_LIBRARY_DIRS})
+endif()
OCCT_MAKE_BUILD_POSTFIX()