fix OpenCascade library list for use with shared libs; added list and options for static lib

This commit is contained in:
Laurens Voerman 2017-02-24 16:34:30 +01:00
parent ad0e6a0f81
commit 75e6889366
2 changed files with 55 additions and 0 deletions

View File

@ -111,6 +111,18 @@ FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKXmlXCAF TKXmlXCAF)
FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKXSBase TKXSBase)
FIND_OPENCASCADE_LIBRARY(OPENCASCADE_TKXSDRAW TKXSDRAW)
set (OPENCASCADE_LIBRARY_TYPE_DESCR
"Specifies the type of library to be used. 'Shared' libraries
are linked dynamically and loaded at runtime. 'Static' libraries
are archives of object files for use when linking other targets")
# set type of OCCT libraries
if (NOT OPENCASCADE_LIBRARY_TYPE)
set (OPENCASCADE_LIBRARY_TYPE "Static" CACHE STRING "${OPENCASCADE_LIBRARY_TYPE_DESCR}" FORCE)
SET_PROPERTY(CACHE OPENCASCADE_LIBRARY_TYPE PROPERTY STRINGS Shared Static)
endif()
if ("${OPENCASCADE_LIBRARY_TYPE}" STREQUAL "Shared")
SET(OPENCASCADE_LIBRARY ${OPENCASCADE_LIBRARY}
${OPENCASCADE_TKernel}
@ -124,7 +136,46 @@ SET(OPENCASCADE_LIBRARY ${OPENCASCADE_LIBRARY}
${OPENCASCADE_TKXDESTEP}
${OPENCASCADE_TKIGES}
${OPENCASCADE_TKXDEIGES}
${OPENCASCADE_TKLCAF}
${OPENCASCADE_TKBRep}
${OPENCASCADE_TKMesh}
${OPENCASCADE_TKTopAlgo}
${OPENCASCADE_TKShHealing}
)
else ("${OPENCASCADE_LIBRARY_TYPE}" STREQUAL "Shared")
SET(OPENCASCADE_LIBRARY ${OPENCASCADE_LIBRARY}
${OPENCASCADE_TKBO}
${OPENCASCADE_TKBool}
${OPENCASCADE_TKBRep}
${OPENCASCADE_TKCAF}
${OPENCASCADE_TKCDF}
${OPENCASCADE_TKDCAF}
${OPENCASCADE_TKernel}
${OPENCASCADE_TKG2d}
${OPENCASCADE_TKG3d}
${OPENCASCADE_TKGeomAlgo}
${OPENCASCADE_TKGeomBase}
${OPENCASCADE_TKHLR}
${OPENCASCADE_TKIGES}
${OPENCASCADE_TKLCAF}
${OPENCASCADE_TKMath}
${OPENCASCADE_TKMesh}
${OPENCASCADE_TKPrim}
${OPENCASCADE_TKService}
${OPENCASCADE_TKShHealing}
${OPENCASCADE_TKSTEP}
${OPENCASCADE_TKSTEP209}
${OPENCASCADE_TKSTEPAttr}
${OPENCASCADE_TKSTEPBase}
${OPENCASCADE_TKTopAlgo}
${OPENCASCADE_TKV3d}
${OPENCASCADE_TKVCAF}
${OPENCASCADE_TKXCAF}
${OPENCASCADE_TKXDEIGES}
${OPENCASCADE_TKXDESTEP}
${OPENCASCADE_TKXSBase}
)
endif ("${OPENCASCADE_LIBRARY_TYPE}" STREQUAL "Shared")
SET(OPENCASCADE_FOUND "NO")
IF(OPENCASCADE_LIBRARY AND OPENCASCADE_INCLUDE_DIR)

View File

@ -13,5 +13,9 @@ SET(TARGET_LIBRARIES_VARS OPENCASCADE_LIBRARY)
# requires CMake 3.1 to do the following:
set (CMAKE_CXX_STANDARD 11)
if (NOT "${OPENCASCADE_LIBRARY_TYPE}" STREQUAL "Shared")
ADD_DEFINITIONS(-DHAVE_NO_DLL)
endif (NOT "${OPENCASCADE_LIBRARY_TYPE}" STREQUAL "Shared")
#### end var setup ###
SETUP_PLUGIN(opencascade)