project(TKTObj)

if (WIN32)
  list( APPEND TKTObj_PRECOMPILED_DEFS "-D__TObj_DLL" )
  string( REGEX REPLACE ";" " " TKTObj_PRECOMPILED_DEFS "${TKTObj_PRECOMPILED_DEFS}")
endif()

  list( APPEND TKTObj_COMPILER_DIRECTORIES "${WOK_LIB_PATH}" )
  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}/inc")
    list( APPEND TKTObj_COMPILER_DIRECTORIES "${BUILD_PATCH_DIR}/inc" )
  ENDIF()
  IF(EXISTS "${CMAKE_SOURCE_DIR}/inc")
    list( APPEND TKTObj_COMPILER_DIRECTORIES "${CMAKE_SOURCE_DIR}/inc" )
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "")
    IF(EXISTS "${BUILD_PATCH_DIR}/drv/TObj")
      list( APPEND TKTObj_COMPILER_DIRECTORIES "${BUILD_PATCH_DIR}/drv/TObj" )
    ENDIF()
    IF(EXISTS "${BUILD_PATCH_DIR}/src/TObj")
      list( APPEND TKTObj_COMPILER_DIRECTORIES "${BUILD_PATCH_DIR}/src/TObj" )
    ENDIF()

  ENDIF()

  IF(EXISTS "${CMAKE_SOURCE_DIR}/drv/TObj")
    list( APPEND TKTObj_COMPILER_DIRECTORIES "${CMAKE_SOURCE_DIR}/drv/TObj" )
  ENDIF()
  IF(EXISTS "${CMAKE_SOURCE_DIR}/src/TObj")
    list( APPEND TKTObj_COMPILER_DIRECTORIES "${CMAKE_SOURCE_DIR}/src/TObj" )
  ENDIF()

IF (WIN32)
  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "")
  ENDIF()

ELSE()
  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "")
  ENDIF()

ENDIF()

  list( APPEND TKTObj_USED_LIBS TKCDF )
  list( APPEND TKTObj_USED_LIBS TKernel )
  list( APPEND TKTObj_USED_LIBS TKMath )
  list( APPEND TKTObj_USED_LIBS TKLCAF )

if (WIN32)
elseif(APPLE)
elseif(ANDROID)
else()
endif()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_Application.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_Application.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_Application.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Application.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Application.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Application.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_Assistant.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_Assistant.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_Assistant.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Assistant.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Assistant.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Assistant.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_CheckModel.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_CheckModel.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_CheckModel.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_CheckModel.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_CheckModel.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_CheckModel.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_HiddenPartition.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_HiddenPartition.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_HiddenPartition.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_HiddenPartition.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_HiddenPartition.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_HiddenPartition.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_LabelIterator.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_LabelIterator.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_LabelIterator.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_LabelIterator.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_LabelIterator.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_LabelIterator.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_Model.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_Model.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_Model.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Model.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Model.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Model.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_ModelIterator.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_ModelIterator.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_ModelIterator.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_ModelIterator.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_ModelIterator.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_ModelIterator.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_Object.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_Object.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_Object.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Object.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Object.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Object.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_ObjectIterator.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_ObjectIterator.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_ObjectIterator.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_ObjectIterator.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_ObjectIterator.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_ObjectIterator.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_OcafObjectIterator.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_OcafObjectIterator.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_OcafObjectIterator.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_OcafObjectIterator.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_OcafObjectIterator.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_OcafObjectIterator.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_Partition.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_Partition.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_Partition.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Partition.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Partition.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Partition.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_Persistence.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_Persistence.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_Persistence.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Persistence.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Persistence.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_Persistence.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_ReferenceIterator.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_ReferenceIterator.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_ReferenceIterator.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_ReferenceIterator.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_ReferenceIterator.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_ReferenceIterator.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_SequenceIterator.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_SequenceIterator.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_SequenceIterator.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_SequenceIterator.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_SequenceIterator.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_SequenceIterator.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_SequenceOfObject.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_SequenceOfObject.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_SequenceOfObject.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_SequenceOfObject.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_SequenceOfObject.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_SequenceOfObject.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_TIntSparseArray.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_TIntSparseArray.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_TIntSparseArray.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TIntSparseArray.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TIntSparseArray.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TIntSparseArray.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_TModel.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_TModel.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_TModel.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TModel.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TModel.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TModel.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_TNameContainer.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_TNameContainer.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_TNameContainer.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TNameContainer.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TNameContainer.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TNameContainer.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_TObject.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_TObject.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_TObject.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TObject.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TObject.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TObject.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_TReference.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_TReference.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_TReference.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TReference.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TReference.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TReference.cxx")
    ENDIF()
  ENDIF()

  IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}//src/TObj/TObj_TXYZ.cxx")
    list( APPEND TKTObj_USED_SRCFILES "${BUILD_PATCH_DIR}//src/TObj/TObj_TXYZ.cxx" )
    SOURCE_GROUP (TObj FILES "${BUILD_PATCH_DIR}//src/TObj/TObj_TXYZ.cxx")
  ELSE()
    IF(EXISTS "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TXYZ.cxx")
      list( APPEND TKTObj_USED_SRCFILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TXYZ.cxx" )
      SOURCE_GROUP (TObj FILES "${CMAKE_SOURCE_DIR}//src/TObj/TObj_TXYZ.cxx")
    ENDIF()
  ENDIF()


IF (WIN32)
ELSE()

  IF (APPLE)

  ENDIF()

ENDIF()

if ("${USED_TOOLKITS}" STREQUAL "" OR DEFINED TurnONtheTKTObj)
 add_library( TKTObj SHARED ${TKTObj_USED_SRCFILES} )

 set_property(TARGET TKTObj PROPERTY FOLDER ApplicationFramework)

 install( TARGETS TKTObj
                                 RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}"
                                 ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}"
                                 LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}")

 if (MSVC)
  install( FILES  ${CMAKE_BINARY_DIR}/out/bind/Debug/TKTObj.pdb CONFIGURATIONS Debug
                                  DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}")
 endif()


 set_target_properties( TKTObj PROPERTIES COMPILE_FLAGS "${TKTObj_PRECOMPILED_DEFS}" )
 include_directories( ${TKTObj_COMPILER_DIRECTORIES} )
 target_link_libraries( TKTObj ${TKTObj_USED_LIBS} )
endif()
