1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-09 13:22:24 +03:00

Compare commits

..

9 Commits

Author SHA1 Message Date
isn
fc5d3cab9f extract one-edge-loops from wire before passing it to MakeLoops algo 2015-08-12 11:02:57 +03:00
isn
8596ce03fb remarks # 1 2015-08-11 17:27:38 +03:00
isn
ac867f3b74 get rid of std::max
eliminate warnings
check BRepLib_MakeEdge on IsDone()
2015-08-11 17:27:36 +03:00
isn
10cf30ce94 comments 2015-08-11 17:27:35 +03:00
isn
bee2b3b445 improving of stability 2015-08-11 17:27:33 +03:00
isn
4a9bbf5cd8 1) more accurate method to find links with same nodes but diff. orientation
2) take into account a self-intersected wires..
2015-08-11 17:27:32 +03:00
isn
be75f04a7a locations of curves have been added 2015-08-11 17:27:31 +03:00
isn
5a6f0d9235 get rid of mutable key on listoflinks 2015-08-11 17:27:29 +03:00
isn
ef6b11472a 0026265: Incorrect result of 2d offset
very draft version
2015-08-11 17:27:28 +03:00
2168 changed files with 23393 additions and 28353 deletions

1
.gitattributes vendored
View File

@@ -44,7 +44,6 @@ UDLIST eol=lf
tests/* eol=lf
tests/*/* eol=lf
tests/*/*/* eol=lf
adm/upgrade.dat eol=lf
*.bat eol=crlf
*.cmd eol=crlf
*.rc eol=crlf

1
.gitignore vendored
View File

@@ -29,7 +29,6 @@ Release
/adm/mac
/adm/make
*.vcproj*user
*.vcxproj*user
*.csproj*user
*.ncb
*.suo

View File

@@ -4,21 +4,9 @@ set (CMAKE_SUPPRESS_REGENERATION TRUE)
set (CMAKE_CONFIGURATION_TYPES Release Debug RelWithDebInfo CACHE INTERNAL "" FORCE)
# macro: include patched file if it exists
macro (OCCT_INCLUDE_CMAKE_FILE BEING_INCLUDED_FILE)
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${BEING_INCLUDED_FILE}.cmake")
include (${APPLY_OCCT_PATCH_DIR}/${BEING_INCLUDED_FILE}.cmake)
else()
include (${CMAKE_SOURCE_DIR}/${BEING_INCLUDED_FILE}.cmake)
endif()
endmacro()
# include variable description
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/vardescr")
# set type of OCCT libraries
if (NOT BUILD_LIBRARY_TYPE)
set (BUILD_LIBRARY_TYPE "Shared" CACHE STRING "${BUILD_LIBRARY_TYPE_DESCR}" FORCE)
set (BUILD_LIBRARY_TYPE "Shared" CACHE STRING "The type of OCCT libraries" FORCE)
SET_PROPERTY(CACHE BUILD_LIBRARY_TYPE PROPERTY STRINGS Shared Static)
endif()
@@ -34,42 +22,64 @@ project (OCCT)
# Solution folder property
set_property (GLOBAL PROPERTY USE_FOLDERS ON)
set (INSTALL_OCCT_TEST_CASES OFF CACHE BOOL "${INSTALL_OCCT_TEST_CASES_DESCR}")
# a single-configuration generator like the Makefile generator defines CMAKE_BUILD_TYPE variable
# check this variable and set if it's required
if (DEFINED CMAKE_BUILD_TYPE AND NOT CMAKE_BUILD_TYPE) # single-configuration generator.
set (CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
endif()
# Tests
set (TESTS_RUN OFF CACHE BOOL "Run tests or not")
set (TESTS_INSTALL OFF CACHE BOOL "Copy tests to folder install")
set (TESTS_SHAPES_DIR "" CACHE PATH "Directory that will contain shapes for tests" )
# enable extended messages of many OCCT algorithms
set (OCCT_ALGO_EXTENDED_OUTPUT OFF CACHE BOOL "${OCCT_ALGO_EXTENDED_OUTPUT_DESCR}")
if (OCCT_ALGO_EXTENDED_OUTPUT)
add_definitions (-DOCCT_DEBUG)
# Find Bison and Flex executables to rebuild *.yacc and *.lex files if it is necessary (BUILD_BISON_FLEX_FILES is ON)
set (BUILD_BISON_FLEX_FILES OFF CACHE BOOL "Build *.yacc/*.lex files")
if (${BUILD_BISON_FLEX_FILES})
foreach (aTool BISON FLEX)
list (APPEND CMAKE_PROGRAM_PATH ${BUILD_BISON_FLEX_DIR})
find_package (${aTool})
if (NOT ${${aTool}_FOUND})
message ("Warning : set BUILD_BISON_FLEX_DIR directory")
set (BUILD_BISON_FLEX_DIR "" CACHE PATH "Filepath to BISON and FLEX executables")
set (BUILD_BISON_FLEX_FILES OFF)
endif()
endforeach()
endif()
# copy samples to install directory
set (INSTALL_OCCT_SAMPLES OFF CACHE BOOL "${INSTALL_OCCT_SAMPLES_DESCR}")
set (INSTALL_SAMPLES OFF CACHE BOOL "Copy OCCT samples to install directory")
# install dir of the built project
set (INSTALL_DIR "" CACHE PATH "${INSTALL_DIR_DESCR}" )
set (INSTALL_DIR "" CACHE PATH "Directory that will contain install files of OCCT" )
set (CMAKE_INSTALL_PREFIX "${INSTALL_DIR}" CACHE INTERNAL "" FORCE )
set (APPLY_OCCT_PATCH_DIR "" CACHE PATH "${APPLY_OCCT_PATCH_DIR_DESCR}")
set (BUILD_PATCH_DIR "" CACHE PATH "directory with occt patch")
# the list of being built toolkits
set (BUILD_ADDITIONAL_TOOLKITS "" CACHE STRING "${BUILD_ADDITIONAL_TOOLKITS_DESCR}")
separate_arguments (BUILD_ADDITIONAL_TOOLKITS)
set (BUILD_TOOLKITS "" CACHE STRING "Toolkits are also included in OCCT")
separate_arguments (BUILD_TOOLKITS)
if (MSVC)
set (BUILD_MODULE_OcctMfcSamples OFF CACHE BOOL "${BUILD_MODULE_OcctMfcSamples_DESCR}")
set (BUILD_MFC_SAMPLES OFF CACHE BOOL "OCCT samples building")
endif()
# whether use optional 3rdparty or not
if (APPLE)
set (USE_GLX OFF CACHE BOOL "${USE_GLX_DESCR}")
set (USE_GLX OFF CACHE BOOL "Are X11 OpenGL used on OSX or not")
endif()
set (USE_VTK OFF CACHE BOOL "${USE_VTK_DESCR}")
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 (USE_TBB OFF CACHE BOOL "Is tbb used or not")
#set (USE_OPENCL OFF CACHE BOOL "Is OpenCL used or not")
endif()
# macro: include patched file if it exists
macro (OCCT_INCLUDE_CMAKE_FILE BEING_INCLUDED_FILE)
if (NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}/${BEING_INCLUDED_FILE}.cmake")
include (${BUILD_PATCH_DIR}/${BEING_INCLUDED_FILE}.cmake)
else()
include (${BEING_INCLUDED_FILE}.cmake)
endif()
endmacro()
# include occt macros
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
@@ -79,107 +89,92 @@ OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
# list <OCCT_MODULES> will contain all modules
OCCT_MODULES_AND_TOOLKITS (OCCT_MODULES)
foreach (OCCT_MODULE ${OCCT_MODULES})
BUILD_MODULE (${OCCT_MODULE})
foreach (MODULE ${OCCT_MODULES})
set (BUILD_${MODULE} ON CACHE BOOL "include ${MODULE}")
endforeach()
# Overview
set (BUILD_DOC_OcctOverview OFF CACHE BOOL "${BUILD_DOC_OcctOverview_DESCR}")
set (BUILD_OCCT_OVERVIEW OFF CACHE BOOL "Build OCCT overview in HTML format")
if (NOT USE_VTK)
list (REMOVE_ITEM Visualization_TOOLKITS TKIVtk)
list (REMOVE_ITEM Draw_TOOLKITS TKIVtkDraw)
endif()
# accumulate used toolkits (first level) in BUILD_TOOLKITS variable
list (APPEND BUILD_TOOLKITS ${BUILD_ADDITIONAL_TOOLKITS})
# accumulate used toolkits (first level) in USED_TOOLKITS variable
list (APPEND USED_TOOLKITS ${BUILD_TOOLKITS})
foreach (OCCT_MODULE ${OCCT_MODULES})
if (BUILD_MODULE_${OCCT_MODULE})
list (APPEND BUILD_TOOLKITS ${${OCCT_MODULE}_TOOLKITS})
foreach (MODULE ${OCCT_MODULES})
if (BUILD_${MODULE})
list (APPEND USED_TOOLKITS ${${MODULE}_TOOLKITS})
endif()
endforeach()
# DRAWEXE excluded when library build is static
if (NOT BUILD_SHARED_LIBS)
list (REMOVE_ITEM BUILD_TOOLKITS DRAWEXE)
list (REMOVE_ITEM USED_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)
foreach(BUILD_TOOLKIT ${BUILD_TOOLKITS})
OCCT_TOOLKIT_FULL_DEP (${BUILD_TOOLKIT} TOOLKIT_FULL_DEPS)
list (APPEND RAW_BUILD_TOOLKITS ${BUILD_TOOLKIT} ${TOOLKIT_FULL_DEPS})
list (REMOVE_DUPLICATES USED_TOOLKITS)
set (RAW_USED_TOOLKIT)
foreach(USED_TOOLKIT ${USED_TOOLKITS})
OCCT_TOOLKIT_FULL_DEP (${USED_TOOLKIT} TOOLKIT_FULL_DEPS)
list (APPEND RAW_USED_TOOLKIT ${USED_TOOLKIT} ${TOOLKIT_FULL_DEPS})
endforeach()
list (REMOVE_DUPLICATES RAW_BUILD_TOOLKITS)
set (BUILD_TOOLKITS ${RAW_BUILD_TOOLKITS})
list (REMOVE_DUPLICATES RAW_USED_TOOLKIT)
set (USED_TOOLKITS ${RAW_USED_TOOLKIT})
# include the patched or original list of definitions and flags
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_defs_flags")
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/3rdparty_macro")
# Rebuild *.yacc and *.lex files that are contained by TKMath toolkit
list (FIND BUILD_TOOLKITS TKMath CAN_REBUILD_PDC_FOR_TKMATH)
list (FIND BUILD_TOOLKITS StepFile CAN_REBUILD_PDC_FOR_STEPFILE)
if (NOT "${CAN_REBUILD_PDC_FOR_TKMATH}" STREQUAL "-1" OR NOT "${CAN_REBUILD_PDC_FOR_STEPFILE}" STREQUAL "-1")
set (REBUILD_PLATFORM_DEPENDENT_CODE OFF CACHE BOOL "${REBUILD_PLATFORM_DEPENDENT_CODE_DESCR}")
else()
OCCT_CHECK_AND_UNSET (REBUILD_PLATFORM_DEPENDENT_CODE)
endif()
set (3RDPARTY_DIR_LABEL "The directory containing required 3rdparty products")
if (NOT DEFINED 3RDPARTY_DIR)
set (3RDPARTY_DIR "" CACHE PATH ${3RDPARTY_DIR_DESCR})
set (3RDPARTY_DIR "" CACHE PATH ${3RDPARTY_DIR_LABEL})
endif()
# search for 3rdparty dir
if ("${3RDPARTY_DIR}" STREQUAL "")
if (DEFINED ENV{3RDPARTY_DIR})
set (3RDPARTY_DIR "$ENV{3RDPARTY_DIR}" CACHE PATH ${3RDPARTY_DIR_DESCR} FORCE)
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_DESCR} FORCE)
set (3RDPARTY_DIR "${3RDPARTY_DIR}" CACHE PATH ${3RDPARTY_DIR_LABEL} FORCE)
endif()
endif()
# search for CSF_TclLibs variable in EXTERNLIB of each being used toolkit
OCCT_IS_PRODUCT_REQUIRED (CSF_TclLibs USE_TCL)
OCCT_IS_PRODUCT_REQUIRED(CSF_TclLibs USE_TCL)
if ("${USE_TCL}" STREQUAL ON)
message (STATUS "Info: TCL is used by OCCT")
message (STATUS "Info: tcl is used by OCCT")
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tcl")
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TCL")
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TK")
OCCT_CHECK_AND_UNSET ("INSTALL_TCL")
endif()
# search for CSF_FREETYPE variable in EXTERNLIB of each being used toolkit
OCCT_IS_PRODUCT_REQUIRED (CSF_FREETYPE USE_FREETYPE)
OCCT_IS_PRODUCT_REQUIRED(CSF_FREETYPE USE_FREETYPE)
if ("${USE_FREETYPE}" STREQUAL ON)
message (STATUS "Info: Freetype is used by OCCT")
message (STATUS "Info: freetype is used by OCCT")
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freetype")
else()
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 ("INSTALL_FREETYPE")
endif()
# VTK
if (USE_VTK)
add_definitions (-DHAVE_VTK)
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/vtk")
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_VTK")
OCCT_CHECK_AND_UNSET ("INSTALL_VTK")
endif()
# GLX
@@ -189,26 +184,11 @@ if (USE_GLX)
endif()
# FREEIMAGE
# search for CSF_FREEIMAGE variable in EXTERNLIB of each being used toolkit
OCCT_IS_PRODUCT_REQUIRED (CSF_FREEIMAGE CAN_USE_FREEIMAGE)
OCCT_IS_PRODUCT_REQUIRED (CSF_FreeImagePlus CAN_USE_FREEIMAGEPLUS)
if (CAN_USE_FREEIMAGE OR CAN_USE_FREEIMAGEPLUS)
set (USE_FREEIMAGE OFF CACHE BOOL "${USE_FREEIMAGE_DESCR}")
if (USE_FREEIMAGE)
add_definitions (-DHAVE_FREEIMAGE)
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freeimage")
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freeimageplus")
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREEIMAGE")
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREEIMAGEPLUS")
OCCT_CHECK_AND_UNSET ("INSTALL_FREEIMAGE")
OCCT_CHECK_AND_UNSET ("INSTALL_FREEIMAGEPLUS")
endif()
if (USE_FREEIMAGE)
add_definitions (-DHAVE_FREEIMAGE)
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freeimage")
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freeimageplus")
else()
OCCT_CHECK_AND_UNSET ("USE_FREEIMAGE")
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREEIMAGE")
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREEIMAGEPLUS")
OCCT_CHECK_AND_UNSET ("INSTALL_FREEIMAGE")
@@ -216,83 +196,54 @@ else()
endif()
# GL2PS
# search for CSF_GL2PS variable in EXTERNLIB of each being used toolkit
OCCT_IS_PRODUCT_REQUIRED (CSF_GL2PS CAN_USE_GL2PS)
if (NOT DEFINED ANDROID AND CAN_USE_GL2PS)
set (USE_GL2PS OFF CACHE BOOL "${USE_GL2PS_DESCR}")
if (USE_GL2PS)
add_definitions (-DHAVE_GL2PS)
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/gl2ps")
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_GL2PS")
OCCT_CHECK_AND_UNSET ("INSTALL_GL2PS")
endif()
if (USE_GL2PS)
add_definitions (-DHAVE_GL2PS)
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/gl2ps")
else()
OCCT_CHECK_AND_UNSET ("USE_GL2PS")
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_GL2PS")
OCCT_CHECK_AND_UNSET ("INSTALL_GL2PS")
endif()
# OPENCL
#if (USE_OPENCL)
# add_definitions (-DHAVE_OPENCL)
# OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/opencl")
#else()
# OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_OPENCL")
# OCCT_CHECK_AND_UNSET ("3RDPARTY_OPENCL_ADDITIONAL_PATH_FOR_HEADER")
# OCCT_CHECK_AND_UNSET ("3RDPARTY_OPENCL_ADDITIONAL_PATH_FOR_LIB")
# OCCT_CHECK_AND_UNSET ("INSTALL_OPENCL")
#endif()
# TBB
# search for CSF_TBB variable in EXTERNLIB of each being used toolkit
OCCT_IS_PRODUCT_REQUIRED (CSF_TBB CAN_USE_TBB)
if (NOT DEFINED ANDROID AND CAN_USE_TBB)
set (USE_TBB OFF CACHE BOOL "${USE_TBB_DESCR}")
if (USE_TBB)
add_definitions (-DHAVE_TBB)
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tbb")
else()
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBB")
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBBMALLOC")
OCCT_CHECK_AND_UNSET ("INSTALL_TBB")
endif()
if (USE_TBB)
add_definitions (-DHAVE_TBB)
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tbb")
else()
OCCT_CHECK_AND_UNSET ("USE_TBB")
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBB")
OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBBMALLOC")
OCCT_CHECK_AND_UNSET ("INSTALL_TBB")
endif()
# Doxygen
if (BUILD_DOC_OcctOverview)
if (NOT DEFINED INSTALL_DOC_OcctOverview)
set (INSTALL_DOC_OcctOverview OFF CACHE BOOL "${INSTALL_DOC_OcctOverview_DESCR}")
if (BUILD_OCCT_OVERVIEW)
if (NOT DEFINED INSTALL_OCCT_OVERVIEW)
set (INSTALL_OCCT_OVERVIEW OFF CACHE BOOL "Copy OCCT overview into install directory")
endif()
if (INSTALL_DOC_OcctOverview)
if (INSTALL_OCCT_OVERVIEW)
install (DIRECTORY "${CMAKE_BINARY_DIR}/doc/overview" DESTINATION "${INSTALL_DIR}/doc")
OCCT_INSTALL_FILE_OR_DIR ("dox/resources/overview.html" "${INSTALL_DIR}")
install (FILES "${CMAKE_SOURCE_DIR}/dox/resources/overview.html" DESTINATION "${INSTALL_DIR}")
endif()
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/doxygen")
else()
OCCT_CHECK_AND_UNSET ("INSTALL_DOC_OcctOverview")
OCCT_CHECK_AND_UNSET ("INSTALL_OCCT_OVERVIEW")
OCCT_CHECK_AND_UNSET ("3RDPARTY_DOXYGEN_EXECUTABLE")
OCCT_CHECK_AND_UNSET ("3RDPARTY_DOXYGEN_DOT_EXECUTABLE")
endif()
# bison
if (REBUILD_PLATFORM_DEPENDENT_CODE)
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/bison")
else()
OCCT_CHECK_AND_UNSET ("3RDPARTY_BISON_EXECUTABLE")
endif()
# flex
if (REBUILD_PLATFORM_DEPENDENT_CODE)
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/flex")
else()
OCCT_CHECK_AND_UNSET ("3RDPARTY_FLEX_EXECUTABLE")
endif()
string (REGEX REPLACE ";" " " 3RDPARTY_NOT_INCLUDED "${3RDPARTY_NOT_INCLUDED}")
# check all 3rdparty paths
@@ -326,24 +277,23 @@ set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/libi")
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/libi")
set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/libd")
set (CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/libd")
if (WIN32)
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
endif()
if ("${INSTALL_DIR}" STREQUAL "")
get_filename_component (CMAKE_BINARY_DIR_PARENT ${CMAKE_BINARY_DIR} DIRECTORY)
set (INSTALL_DIR "${CMAKE_BINARY_DIR_PARENT}/install" CACHE PATH "${INSTALL_DIR_DESCR}" FORCE)
set (INSTALL_DIR "${CMAKE_BINARY_DIR_PARENT}/install" CACHE PATH "Directory that will contain install files of OCCT" FORCE)
set (CMAKE_INSTALL_PREFIX "${INSTALL_DIR}" CACHE INTERNAL "" FORCE )
message (STATUS "Info: INSTALL_DIR has been set as ${INSTALL_DIR}")
@@ -351,17 +301,22 @@ endif()
message (STATUS "\nInfo: Collecting all OCCT header files into ${CMAKE_BINARY_DIR}/inc ...")
# (!) patch is not taken into account COLLECT_AND_INSTALL_OCCT_HEADER_FILES
# collect all the headers to <binary dir>/inc folder
COLLECT_AND_INSTALL_OCCT_HEADER_FILES ("${CMAKE_BINARY_DIR}" "${BUILD_TOOLKITS}")
COLLECT_AND_INSTALL_OCCT_HEADER_FILES ("${CMAKE_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}/adm/templates/header.in" "${CMAKE_BINARY_DIR}" "${USED_TOOLKITS}")
# apply patched header files
#if (NOT "${BUILD_PATCH_DIR}" STREQUAL "")
# COLLECT_AND_INSTALL_OCCT_HEADER_FILES ("${BUILD_PATCH_DIR}" "${CMAKE_SOURCE_DIR}/adm/templates/header.in" "${CMAKE_BINARY_DIR}")
#endif()
OCCT_INSTALL_FILE_OR_DIR ("data" "${INSTALL_DIR}")
OCCT_INSTALL_FILE_OR_DIR ("samples/tcl" "${INSTALL_DIR}/samples")
if (INSTALL_OCCT_SAMPLES)
if (INSTALL_SAMPLES)
OCCT_INSTALL_FILE_OR_DIR ("samples" "${INSTALL_DIR}")
endif()
if (INSTALL_OCCT_TEST_CASES)
if (TESTS_INSTALL)
OCCT_INSTALL_FILE_OR_DIR ("tests" "${INSTALL_DIR}")
endif()
@@ -371,9 +326,17 @@ else()
set (SCRIPT_EXT sh)
endif()
# Creation of "START_TESTS" project
if (TESTS_RUN AND TESTS_INSTALL)
#set(BUILD_TESTING ON)
#enable_testing ()
#add_test(NAME RUN_TESTS COMMAND ${INSTALL_DIR}/draw.${SCRIPT_EXT} -c testgrid -overwrite -outdir ${INSTALL_DIR}/TestResults)
add_custom_target(START_TESTS ${INSTALL_DIR}/draw.${SCRIPT_EXT} -c testgrid -overwrite -outdir ${INSTALL_DIR}/TestResults DEPENDS INSTALL)
endif()
# DRAW.BAT or DRAW.SH
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/adm/templates/draw.${SCRIPT_EXT}")
install (FILES "${APPLY_OCCT_PATCH_DIR}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR}" PERMISSIONS
if (NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}/adm/templates/draw.${SCRIPT_EXT}")
install (FILES "${BUILD_PATCH_DIR}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR}" PERMISSIONS
OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE)
else()
install (FILES "${CMAKE_SOURCE_DIR}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR}" PERMISSIONS
@@ -381,12 +344,12 @@ else()
endif()
OCCT_COPY_FILE_OR_DIR ("adm/templates/draw.${SCRIPT_EXT}" "${CMAKE_BINARY_DIR}")
set (SUB_CUSTOM_NAME "custom_${COMPILER}_${COMPILER_BITNESS}.${SCRIPT_EXT}")
set (SUB_CUSTOM "custom_${COMPILER}_${COMPILER_BITNESS}.${SCRIPT_EXT}")
if (WIN32)
set (ADDITIONAL_CUSTOM_CONTENT "\nif exist \"%~dp0${SUB_CUSTOM_NAME}\" (\n call \"%~dp0${SUB_CUSTOM_NAME}\" %VCVER% %ARCH% %CASDEB% \n)")
set (ADDITIONAL_CUSTOM_CONTENT "\nif exist \"%~dp0${SUB_CUSTOM}\" (\n call \"%~dp0${SUB_CUSTOM}\" %VCVER% %ARCH% %CASDEB% \n)")
else()
set (ADDITIONAL_CUSTOM_CONTENT "\nif [ -e \"\${aScriptPath}/${SUB_CUSTOM_NAME}\" ]; then\n source \"\${aScriptPath}/${SUB_CUSTOM_NAME}\" \"\${COMPILER}\" \"\${WOKSTATION}\${ARCH}\" \"\${CASDEB}\" \nfi")
set (ADDITIONAL_CUSTOM_CONTENT "\nif [ -e \"\${aScriptPath}/${SUB_CUSTOM}\" ]; then\n source \"\${aScriptPath}/${SUB_CUSTOM}\" \"\${COMPILER}\" \"\${WOKSTATION}\${ARCH}\" \"\${CASDEB}\" \nfi")
endif()
# change custom.bat/sh
@@ -397,53 +360,20 @@ if (EXISTS "${INSTALL_DIR}/custom.${SCRIPT_EXT}")
file (WRITE "${INSTALL_DIR}/custom.${SCRIPT_EXT}" "${CUSTOM_CONTENT}")
else()
OCCT_CONFIGURE_AND_INSTALL ("adm/templates/custom.${SCRIPT_EXT}.main" "custom.${SCRIPT_EXT}" "custom.${SCRIPT_EXT}" "${INSTALL_DIR}")
OCCT_CONFIGURE_AND_INSTALL ("adm/templates/custom.${SCRIPT_EXT}.main" "custom.${SCRIPT_EXT}" "${INSTALL_DIR}")
endif()
# write current custom.bat/sh (for install directory)
set (SUB_CUSTOM_BUILD_NAME "custom_${COMPILER}_${COMPILER_BITNESS}.install.${SCRIPT_EXT}")
OCCT_CONFIGURE_AND_INSTALL ("adm/templates/custom.install.${SCRIPT_EXT}.in" "${SUB_CUSTOM_BUILD_NAME}" "${SUB_CUSTOM_NAME}" "${INSTALL_DIR}")
# write current custom.bat/sh
OCCT_CONFIGURE_AND_INSTALL ("adm/templates/custom.${SCRIPT_EXT}.in" "${SUB_CUSTOM}" "${INSTALL_DIR}")
# write current custom.bat/sh (for build directory)
OCCT_CONFIGURE ("adm/templates/custom.build.${SCRIPT_EXT}.in" "${SUB_CUSTOM_NAME}")
if (BUILD_MODULE_OcctMfcSamples)
if (BUILD_MFC_SAMPLES)
OCCT_INSTALL_FILE_OR_DIR ("adm/templates/sample.bat" "${INSTALL_DIR}")
OCCT_COPY_FILE_OR_DIR ("adm/templates/sample.bat" "${CMAKE_BINARY_DIR}")
OCCT_COPY_FILE_OR_DIR ("adm/templates/sample.bat" "${CMAKE_BINARY_DIR}")
endif()
# env script for draw in building environment
OCCT_CONFIGURE ("adm/templates/env.build.${SCRIPT_EXT}.in" "env.${SCRIPT_EXT}")
# end script for draw in standalone environment
# release version
set (BUILD_LETTER "")
OCCT_CONFIGURE ("adm/templates/env.install.${SCRIPT_EXT}.in" "env.install.release.${SCRIPT_EXT}")
install (FILES "${CMAKE_BINARY_DIR}/env.install.release.${SCRIPT_EXT}"
CONFIGURATIONS Release
DESTINATION "${INSTALL_DIR}"
RENAME "env.${SCRIPT_EXT}")
# debug version
set (BUILD_LETTER "d")
OCCT_CONFIGURE ("adm/templates/env.install.${SCRIPT_EXT}.in" "env.install.debug.${SCRIPT_EXT}")
install (FILES "${CMAKE_BINARY_DIR}/env.install.debug.${SCRIPT_EXT}"
CONFIGURATIONS Debug
DESTINATION "${INSTALL_DIR}"
RENAME "env.${SCRIPT_EXT}")
# release with debug info version
set (BUILD_LETTER "i")
OCCT_CONFIGURE ("adm/templates/env.install.${SCRIPT_EXT}.in" "env.install.relwithdebinfo.${SCRIPT_EXT}")
install (FILES "${CMAKE_BINARY_DIR}/env.install.relwithdebinfo.${SCRIPT_EXT}"
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}"
RENAME "env.${SCRIPT_EXT}")
# copy DrawAppliInit from OCCT source to build directory
if (NOT EXISTS "${CMAKE_BINARY_DIR}/DrawAppliInit")
OCCT_COPY_FILE_OR_DIR (DrawAppliInit "${CMAKE_BINARY_DIR}")
endif()
OCCT_CONFIGURE ("adm/templates/env.${SCRIPT_EXT}.in" "env.install.${SCRIPT_EXT}")
install (FILES "${CMAKE_BINARY_DIR}/env.install.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR}" RENAME "env.${SCRIPT_EXT}")
# RESOURCES
FILE_TO_LIST ("adm/RESOURCES" RESOURCES)
@@ -458,17 +388,23 @@ foreach(RESOURCE ${RESOURCES})
endforeach()
# include patched toolkit projects or original ones
foreach (BUILD_TOOLKIT ${BUILD_TOOLKITS})
OCCT_ADD_SUBDIRECTORY ("src/${BUILD_TOOLKIT}")
foreach (USED_TOOLKIT ${USED_TOOLKITS})
if (NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}/src/${USED_TOOLKIT}")
add_subdirectory(${BUILD_PATCH_DIR}/src/${USED_TOOLKIT})
elseif (EXISTS "${CMAKE_SOURCE_DIR}/src/${USED_TOOLKIT}")
add_subdirectory (${CMAKE_SOURCE_DIR}/src/${USED_TOOLKIT})
else()
message (STATUS "${USED_TOOLKIT} is not included")
endif()
endforeach()
if (BUILD_DOC_OcctOverview)
OCCT_ADD_SUBDIRECTORY (dox)
if (BUILD_OCCT_OVERVIEW)
add_subdirectory (dox)
endif()
# patch DRAWEXE
if (MSVC AND 3RDPARTY_DLL_DIRS)
list (FIND BUILD_TOOLKITS DRAWEXE DRAWEXE_INDEX)
list (FIND USED_TOOLKITS DRAWEXE DRAWEXE_INDEX)
if (${DRAWEXE_INDEX} GREATER -1)
list (REMOVE_DUPLICATES 3RDPARTY_DLL_DIRS)
set (3RDPARTY_DLL_DIRS_FOR_PATH "")
@@ -483,12 +419,12 @@ if (MSVC AND 3RDPARTY_DLL_DIRS)
set (X_COMPILER_BITNESS "Win32")
endif()
OCCT_CONFIGURE ("adm/templates/DRAWEXE.vcxproj.user.in" "${CMAKE_BINARY_DIR}/src/DRAWEXE/DRAWEXE.vcxproj.user")
configure_file (${CMAKE_SOURCE_DIR}/adm/templates/DRAWEXE.vcxproj.user.in ${CMAKE_BINARY_DIR}/src/DRAWEXE/DRAWEXE.vcxproj.user @ONLY)
endif()
endif()
# samples do not support patch usage
if (BUILD_MODULE_OcctMfcSamples)
if (BUILD_MFC_SAMPLES)
set (OCCT_ROOT ${CMAKE_SOURCE_DIR})
set (MFC_STANDARD_SAMPLES_DIR ${OCCT_ROOT}/samples/mfc/standard)

View File

@@ -353,7 +353,6 @@ n VrmlAPI
n VrmlConverter
n VrmlData
n XCAFApp
n XCAFDimTolObjects
n XCAFDoc
n XCAFPrs
n XSAlgo

View File

@@ -20,12 +20,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB
endif()
if (NOT DEFINED INSTALL_${PRODUCT_NAME})
message (STATUS "${INSTALL_${PRODUCT_NAME}_DESCR}")
if (NOT "${INSTALL_${PRODUCT_NAME}_DESCR}" STREQUAL "")
set (INSTALL_${PRODUCT_NAME} OFF CACHE BOOL "${INSTALL_${PRODUCT_NAME}_DESCR}")
else()
set (INSTALL_${PRODUCT_NAME} OFF CACHE BOOL "Is ${PRODUCT_NAME} required to be copied into install directory")
endif()
set (INSTALL_${PRODUCT_NAME} OFF CACHE BOOL "Is ${PRODUCT_NAME} required to be copied into install directory")
endif()
# search for include directory
@@ -143,7 +138,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}"
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}"
CONFIGURATIONS Debug
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
@@ -158,7 +153,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB
RENAME ${FREEIMLIB}.3)
install (FILES "${ABS_PATH}"
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
RENAME ${FREEIMLIB}.3)
install (FILES "${ABS_PATH}"
CONFIGURATIONS Debug
@@ -173,7 +168,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB
RENAME ${GL2PSLIB}.1)
install (FILES "${ABS_PATH}"
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
RENAME ${GL2PSLIB}.1)
install (FILES "${ABS_PATH}"
CONFIGURATIONS Debug

View File

@@ -0,0 +1,121 @@
# Get all used packages from toolkit
foreach (MODULE ${TOOLKIT_MODULES})
if (WIN32)
list (APPEND PRECOMPILED_DEFS "-D__${MODULE}_DLL")
endif()
list (APPEND COMPILER_DIRECTORIES "${OCCT_SOURCE_DIR}/src/${MODULE}")
endforeach()
string (REGEX REPLACE ";" " " PRECOMPILED_DEFS "${PRECOMPILED_DEFS}")
# Get from toolkits EXTERNLIB all used libs
OCCT_TOOLKIT_DEP (${PROJECT_NAME} ${PROJECT_NAME}_DEPS)
foreach (DEP ${${PROJECT_NAME}_DEPS})
IS_OCCT_TOOLKIT (${DEP} OCCT_MODULES FOUND_TOOLKIT)
if ("${FOUND_TOOLKIT}" STREQUAL "ON")
list ( APPEND USED_LIBS "${DEP}" )
endif()
endforeach()
# Get all source files from used packages
foreach (CDIR ${COMPILER_DIRECTORIES})
get_filename_component (CDirName ${CDIR} NAME)
set (CDIR_files)
set (HDIR_files)
file(STRINGS "${CDIR}/FILES" FLEX_Files REGEX ".+[.]lex")
file(STRINGS "${CDIR}/FILES" BISON_Files REGEX ".+[.]yacc")
file(STRINGS "${CDIR}/FILES" CFiles REGEX ".+[.]c")
file(STRINGS "${CDIR}/FILES" MFiles REGEX ".+[.]mm")
file(STRINGS "${CDIR}/FILES" HFiles REGEX ".+[.]h")
file(STRINGS "${CDIR}/FILES" LXXFiles REGEX ".+[.]lxx")
file(STRINGS "${CDIR}/FILES" GXXFiles REGEX ".+[.]gxx")
# Generate Flex and Bison files
if (${BUILD_BISON_FLEX_FILES})
list (LENGTH FLEX_Files FLength)
list (LENGTH BISON_Files BLength)
list (SORT FLEX_Files)
list (SORT BISON_Files)
if (${FLength} EQUAL ${BLength} AND NOT ${FLength} EQUAL 0)
math (EXPR FLength "${FLength} - 1")
foreach (FileIndex RANGE ${FLength})
list (GET FLEX_Files ${FileIndex} FLEX_File)
list (GET BISON_Files ${FileIndex} BISON_File)
get_filename_component (FLEX_Name ${FLEX_File} NAME_WE)
get_filename_component (BISON_Name ${BISON_File} NAME_WE)
string (COMPARE EQUAL ${FLEX_Name} ${BISON_Name} isEQUAL)
if (EXISTS "${FLEX_File}" AND EXISTS "${BISON_File}" AND ${isEQUAL})
BISON_TARGET (Parser_${BISON_Name} ${BISON_File} ${CDIR}/${BISON_Name}.tab.c)
FLEX_TARGET (Scanner_${FLEX_Name} ${FLEX_File} ${CDIR}/lex.${FLEX_Name}.c)
ADD_FLEX_BISON_DEPENDENCY (Scanner_${FLEX_Name} Parser_${BISON_Name})
list (APPEND CDIR_files ${BISON_Parser_${BISON_Name}_OUTPUTS} ${FLEX_Scanner_${FLEX_Name}_OUTPUTS})
endif()
endforeach()
endif()
endif()
list(APPEND HDIR_files ${HFiles} ${LXXFiles} ${GXXFiles})
list( APPEND CDIR_files ${CFiles})
if(APPLE)
list( APPEND CDIR_files ${MFiles})
endif()
foreach(HFile ${HDIR_files})
list( APPEND USED_INCFILES ${CDIR}/${HFile} )
SOURCE_GROUP ("Header Files\\${CDirName}" FILES ${CDIR}/${HFile})
endforeach(HFile)
foreach(CFile ${CDIR_files})
list( APPEND USED_SRCFILES ${CDIR}/${CFile} )
SOURCE_GROUP ("Source Files\\${CDirName}" FILES ${CDIR}/${CFile})
endforeach(CFile)
endforeach(CDIR)
list( FIND USED_TOOLKITS ${PROJECT_NAME} isFOUND)
# Create project for toolkit
if ("${USED_TOOLKITS}" STREQUAL "" OR NOT ${isFOUND} EQUAL -1)
foreach (MODULE ${OCCT_MODULES})
list (FIND ${MODULE}_TOOLKITS ${PROJECT_NAME} isFOUND)
if (NOT ${isFOUND} EQUAL -1)
set (CURRENT_MODULE ${MODULE})
endif()
endforeach()
if (isEXE)
add_executable (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES})
install (TARGETS ${PROJECT_NAME}
CONFIGURATIONS Release
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
install (TARGETS ${PROJECT_NAME}
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
install (TARGETS ${PROJECT_NAME}
CONFIGURATIONS Debug
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
else()
add_library (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES})
install (TARGETS ${PROJECT_NAME}
CONFIGURATIONS Release
RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin"
ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
install (TARGETS ${PROJECT_NAME}
CONFIGURATIONS RelWithDebInfo
RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin"
ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
install (TARGETS ${PROJECT_NAME}
CONFIGURATIONS Debug
RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind"
ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd"
LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd")
if (MSVC)
install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bind/${PROJECT_NAME}.pdb
CONFIGURATIONS Debug
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
endif()
endif()
set_property (TARGET ${PROJECT_NAME} PROPERTY FOLDER "Modules/${CURRENT_MODULE}")
set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${PRECOMPILED_DEFS}")
target_link_libraries (${PROJECT_NAME} ${USED_LIBS})
endif()

View File

@@ -1,20 +0,0 @@
# bison
# execute FindBISON script by "find_package (Bison)" is required to define BISON_TARGET macro
if (NOT DEFINED 3RDPARTY_BISON_EXECUTABLE)
set (3RDPARTY_BISON_EXECUTABLE "" CACHE FILEPATH "The path to the bison command")
endif()
# BISON_EXECUTABLE is required by BISON_TARGET macro and should be defined
set (BISON_EXECUTABLE "${3RDPARTY_BISON_EXECUTABLE}" CACHE FILEPATH "path to the bison executable" FORCE)
find_package (Bison)
if (BISON_FOUND)
set (3RDPARTY_BISON_EXECUTABLE "${BISON_EXECUTABLE}" CACHE FILEPATH "The Path to the bison command" FORCE)
endif()
if (NOT 3RDPARTY_BISON_EXECUTABLE OR NOT EXISTS "${3RDPARTY_BISON_EXECUTABLE}")
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_BISON_EXECUTABLE)
endif()

View File

@@ -1,20 +0,0 @@
# flex
# execute FindFLEX script by "find_package (Flex)" is required to define FLEX_TARGET macro
if (NOT DEFINED 3RDPARTY_FLEX_EXECUTABLE)
set (3RDPARTY_FLEX_EXECUTABLE "" CACHE FILEPATH "The Path to the flex command")
endif()
# FLEX_EXECUTABLE is required by FLEX_TARGET macro and should be defined
set (FLEX_EXECUTABLE "${3RDPARTY_FLEX_EXECUTABLE}" CACHE FILEPATH "path to the flex executable" FORCE)
find_package (FLEX)
if (FLEX_FOUND)
set (3RDPARTY_FLEX_EXECUTABLE "${FLEX_EXECUTABLE}" CACHE FILEPATH "The Path to the flex command" FORCE)
endif()
if (NOT 3RDPARTY_FLEX_EXECUTABLE OR NOT EXISTS "${3RDPARTY_FLEX_EXECUTABLE}")
list (APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_FLEX_EXECUTABLE)
endif()

View File

@@ -1,7 +1,7 @@
# freetype
if (NOT DEFINED INSTALL_FREETYPE)
set (INSTALL_FREETYPE OFF CACHE BOOL "${INSTALL_FREETYPE_DESCR}")
set (INSTALL_FREETYPE OFF CACHE BOOL "Is freetype required to be copied into install directory")
endif()
if (NOT DEFINED 3RDPARTY_FREETYPE_DIR)
@@ -215,7 +215,7 @@ if (INSTALL_FREETYPE)
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
install (FILES "${3RDPARTY_FREETYPE_DLL}"
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
install (FILES "${3RDPARTY_FREETYPE_DLL}"
CONFIGURATIONS Debug
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
@@ -229,7 +229,7 @@ if (INSTALL_FREETYPE)
RENAME ${FREETYPELIB}.6)
install (FILES "${ABS_PATH}"
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
RENAME ${FREETYPELIB}.6)
install (FILES "${ABS_PATH}"
CONFIGURATIONS Debug

View File

@@ -53,8 +53,6 @@ macro (OCCT_MAKE_COMPILER_SHORT_NAME)
set (COMPILER vc11)
elseif (MSVC12)
set (COMPILER vc12)
elseif (MSVC14)
set (COMPILER vc14)
endif()
elseif (DEFINED CMAKE_COMPILER_IS_GNUCC)
set (COMPILER gcc)
@@ -82,29 +80,6 @@ function (SUBDIRECTORY_NAMES MAIN_DIRECTORY RESULT)
set (${RESULT} ${LOCAL_RESULT} PARENT_SCOPE)
endfunction()
function (OCCT_ORIGIN_AND_PATCHED_FILES RELATIVE_PATH SEARCH_TEMPLATE RESULT)
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${RELATIVE_PATH}")
file (GLOB FOUND_FILES "${APPLY_OCCT_PATCH_DIR}/${RELATIVE_PATH}/${SEARCH_TEMPLATE}")
endif()
file (GLOB ORIGIN_FILES "${CMAKE_SOURCE_DIR}/${RELATIVE_PATH}/${SEARCH_TEMPLATE}")
foreach (ORIGIN_FILE ${ORIGIN_FILES})
# check for existence of patched version of current file
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${RELATIVE_PATH}")
get_filename_component (ORIGIN_FILE_NAME "${ORIGIN_FILE}" NAME)
if (EXISTS "${APPLY_OCCT_PATCH_DIR}/${RELATIVE_PATH}/${ORIGIN_FILE_NAME}")
continue()
endif()
endif()
# append origin version if patched one is not found
list (APPEND FOUND_FILES ${ORIGIN_FILE})
endforeach()
set (${RESULT} ${FOUND_FILES} PARENT_SCOPE)
endfunction()
function (FIND_PRODUCT_DIR ROOT_DIR PRODUCT_NAME RESULT)
OCCT_MAKE_COMPILER_SHORT_NAME()
OCCT_MAKE_COMPILER_BITNESS()
@@ -143,15 +118,15 @@ function (FIND_PRODUCT_DIR ROOT_DIR PRODUCT_NAME RESULT)
endfunction()
macro (OCCT_INSTALL_FILE_OR_DIR BEING_INSTALLED_OBJECT DESTINATION_PATH)
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${BEING_INSTALLED_OBJECT}")
if (IS_DIRECTORY "${APPLY_OCCT_PATCH_DIR}/${BEING_INSTALLED_OBJECT}")
if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/${BEING_INSTALLED_OBJECT}")
if (IS_DIRECTORY "${BUILD_PATCH_DIR}/${BEING_INSTALLED_OBJECT}")
# first of all, install original files
install (DIRECTORY "${CMAKE_SOURCE_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
# secondly, rewrite original files with patched ones
install (DIRECTORY "${APPLY_OCCT_PATCH_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
install (DIRECTORY "${BUILD_PATCH_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
else()
install (FILES "${APPLY_OCCT_PATCH_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
install (FILES "${BUILD_PATCH_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
endif()
else()
if (IS_DIRECTORY "${CMAKE_SOURCE_DIR}/${BEING_INSTALLED_OBJECT}")
@@ -162,37 +137,27 @@ macro (OCCT_INSTALL_FILE_OR_DIR BEING_INSTALLED_OBJECT DESTINATION_PATH)
endif()
endmacro()
macro (OCCT_CONFIGURE_AND_INSTALL BEING_CONGIRUGED_FILE BUILD_NAME INSTALL_NAME DESTINATION_PATH)
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${BEING_CONGIRUGED_FILE}")
configure_file("${APPLY_OCCT_PATCH_DIR}/${BEING_CONGIRUGED_FILE}" "${BUILD_NAME}" @ONLY)
macro (OCCT_CONFIGURE_AND_INSTALL BEING_CONGIRUGED_FILE FINAL_NAME DESTINATION_PATH)
if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/${BEING_CONGIRUGED_FILE}")
configure_file("${BUILD_PATCH_DIR}/${BEING_CONGIRUGED_FILE}" "${FINAL_NAME}" @ONLY)
else()
configure_file("${CMAKE_SOURCE_DIR}/${BEING_CONGIRUGED_FILE}" "${BUILD_NAME}" @ONLY)
configure_file("${CMAKE_SOURCE_DIR}/${BEING_CONGIRUGED_FILE}" "${FINAL_NAME}" @ONLY)
endif()
install(FILES "${OCCT_BINARY_DIR}/${BUILD_NAME}" DESTINATION "${DESTINATION_PATH}" RENAME ${INSTALL_NAME})
install(FILES "${OCCT_BINARY_DIR}/${FINAL_NAME}" DESTINATION "${DESTINATION_PATH}")
endmacro()
macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_TARGET_OCCT_DIR OCCT_BUILD_TOOLKITS)
macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_OCCT_DIR TEMPLATE_HEADER_PATH ROOT_TARGET_OCCT_DIR OCCT_USED_TOOLKITS)
set (OCCT_SOURCE_DIRS)
# consider patched header.in template
set (TEMPLATE_HEADER_PATH "${CMAKE_SOURCE_DIR}/adm/templates/header.in")
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/adm/templates/header.in")
set (TEMPLATE_HEADER_PATH "${APPLY_OCCT_PATCH_DIR}/adm/templates/header.in")
endif()
set (ROOT_OCCT_DIR ${CMAKE_SOURCE_DIR})
foreach (OCCT_USED_TOOLKIT ${OCCT_BUILD_TOOLKITS})
foreach (OCCT_USED_TOOLKIT ${OCCT_USED_TOOLKITS})
# append parent folder
list (APPEND OCCT_SOURCE_DIRS ${OCCT_USED_TOOLKIT})
# append all required package folders
set (OCCT_USED_TOOLKIT_DEPS)
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_USED_TOOLKIT}/PACKAGES")
file (STRINGS "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_USED_TOOLKIT}/PACKAGES" OCCT_USED_TOOLKIT_DEPS)
elseif (EXISTS "${CMAKE_SOURCE_DIR}/src/${OCCT_USED_TOOLKIT}/PACKAGES")
file (STRINGS "${CMAKE_SOURCE_DIR}/src/${OCCT_USED_TOOLKIT}/PACKAGES" OCCT_USED_TOOLKIT_DEPS)
if (EXISTS "${ROOT_OCCT_DIR}/src/${OCCT_USED_TOOLKIT}/PACKAGES")
file (STRINGS "${ROOT_OCCT_DIR}/src/${OCCT_USED_TOOLKIT}/PACKAGES" OCCT_USED_TOOLKIT_DEPS)
endif()
foreach (OCCT_USED_TOOLKIT_DEP ${OCCT_USED_TOOLKIT_DEPS})
@@ -201,8 +166,9 @@ macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_TARGET_OCCT_DIR OCCT_BUILD_TOO
endforeach()
foreach (OCCT_SOURCE_DIR ${OCCT_SOURCE_DIRS})
# get all header files from each src folder
file (GLOB OCCT_HEADER_FILES "${CMAKE_SOURCE_DIR}/src/${OCCT_SOURCE_DIR}/*.[hgl]xx" "${CMAKE_SOURCE_DIR}/src/${OCCT_SOURCE_DIR}/*.h")
# get all header files from each src folder
file (GLOB OCCT_HEADER_FILES "${ROOT_OCCT_DIR}/src/${OCCT_SOURCE_DIR}/*.[hgl]xx" "${ROOT_OCCT_DIR}/src/${OCCT_SOURCE_DIR}/*.h")
install (FILES ${OCCT_HEADER_FILES} DESTINATION "${INSTALL_DIR}/inc")
# create new file including found header
@@ -210,60 +176,36 @@ macro (COLLECT_AND_INSTALL_OCCT_HEADER_FILES ROOT_TARGET_OCCT_DIR OCCT_BUILD_TOO
get_filename_component (HEADER_FILE_NAME ${OCCT_HEADER_FILE} NAME)
configure_file ("${TEMPLATE_HEADER_PATH}" "${ROOT_TARGET_OCCT_DIR}/inc/${HEADER_FILE_NAME}" @ONLY)
endforeach()
# consider pathed the source files
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_SOURCE_DIR}")
file (GLOB PATCHED_OCCT_HEADER_FILES "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_SOURCE_DIR}/*.[hgl]xx" "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_SOURCE_DIR}/*.h")
install (FILES ${PATCHED_OCCT_HEADER_FILES} DESTINATION "${INSTALL_DIR}/inc")
# create new patched file including found header
foreach (OCCT_HEADER_FILE ${PATCHED_OCCT_HEADER_FILES})
get_filename_component (HEADER_FILE_NAME ${OCCT_HEADER_FILE} NAME)
configure_file ("${TEMPLATE_HEADER_PATH}" "${ROOT_TARGET_OCCT_DIR}/inc/${HEADER_FILE_NAME}" @ONLY)
endforeach()
endif()
endforeach()
endmacro()
macro (OCCT_COPY_FILE_OR_DIR BEING_COPIED_OBJECT DESTINATION_PATH)
# first of all, copy original files
if (EXISTS "${CMAKE_SOURCE_DIR}/${BEING_COPIED_OBJECT}")
file (COPY "${CMAKE_SOURCE_DIR}/${BEING_COPIED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
endif()
file (COPY "${CMAKE_SOURCE_DIR}/${BEING_COPIED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${BEING_COPIED_OBJECT}")
if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/${BEING_COPIED_OBJECT}")
# secondly, rewrite original files with patched ones
file (COPY "${APPLY_OCCT_PATCH_DIR}/${BEING_COPIED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
file (COPY "${BUILD_PATCH_DIR}/${BEING_COPIED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
endif()
endmacro()
macro (OCCT_CONFIGURE BEING_CONGIRUGED_FILE FINAL_NAME)
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${BEING_CONGIRUGED_FILE}")
configure_file("${APPLY_OCCT_PATCH_DIR}/${BEING_CONGIRUGED_FILE}" "${FINAL_NAME}" @ONLY)
if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/${BEING_CONGIRUGED_FILE}")
configure_file("${BUILD_PATCH_DIR}/${BEING_CONGIRUGED_FILE}" "${FINAL_NAME}" @ONLY)
else()
configure_file("${CMAKE_SOURCE_DIR}/${BEING_CONGIRUGED_FILE}" "${FINAL_NAME}" @ONLY)
endif()
endmacro()
macro (OCCT_ADD_SUBDIRECTORY BEING_ADDED_DIRECTORY)
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${BEING_ADDED_DIRECTORY}/CMakeLists.txt")
add_subdirectory(${APPLY_OCCT_PATCH_DIR}/${BEING_ADDED_DIRECTORY})
elseif (EXISTS "${CMAKE_SOURCE_DIR}/${BEING_ADDED_DIRECTORY}/CMakeLists.txt")
add_subdirectory (${CMAKE_SOURCE_DIR}/${BEING_ADDED_DIRECTORY})
else()
message (STATUS "${BEING_ADDED_DIRECTORY} directory is not included")
endif()
endmacro()
function (OCCT_IS_PRODUCT_REQUIRED CSF_VAR_NAME USE_PRODUCT)
set (${USE_PRODUCT} OFF PARENT_SCOPE)
if (NOT BUILD_TOOLKITS)
if (NOT USED_TOOLKITS)
message(STATUS "Warning: the list of being used toolkits is empty")
else()
foreach (USED_TOOLKIT ${BUILD_TOOLKITS})
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/src/${USED_TOOLKIT}/EXTERNLIB")
file (READ "${APPLY_OCCT_PATCH_DIR}/src/${USED_TOOLKIT}/EXTERNLIB" FILE_CONTENT)
foreach (USED_TOOLKIT ${USED_TOOLKITS})
if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/src/${USED_TOOLKIT}/EXTERNLIB")
file (READ "${BUILD_PATCH_DIR}/src/${USED_TOOLKIT}/EXTERNLIB" FILE_CONTENT)
elseif (EXISTS "${CMAKE_SOURCE_DIR}/src/${USED_TOOLKIT}/EXTERNLIB")
file (READ "${CMAKE_SOURCE_DIR}/src/${USED_TOOLKIT}/EXTERNLIB" FILE_CONTENT)
endif()
@@ -280,8 +222,8 @@ endfunction()
function (FILE_TO_LIST FILE_NAME FILE_CONTENT)
set (LOCAL_FILE_CONTENT)
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/${FILE_NAME}")
file (STRINGS "${APPLY_OCCT_PATCH_DIR}/${FILE_NAME}" LOCAL_FILE_CONTENT)
if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/${FILE_NAME}")
file (STRINGS "${BUILD_PATCH_DIR}/${FILE_NAME}" LOCAL_FILE_CONTENT)
elseif (EXISTS "${CMAKE_SOURCE_DIR}/${FILE_NAME}")
file (STRINGS "${CMAKE_SOURCE_DIR}/${FILE_NAME}" LOCAL_FILE_CONTENT)
endif()

View File

@@ -1,163 +0,0 @@
# script for each OCCT toolkit
# Get all used packages from toolkit
foreach (OCCT_PACKAGE ${TOOLKIT_MODULES})
if (WIN32)
list (APPEND PRECOMPILED_DEFS "-D__${OCCT_PACKAGE}_DLL")
endif()
# ${OCCT_SOURCE_DIR}/src/${OCCT_PACKAGE}
set (SOURCE_FILES)
set (HEADER_FILES)
# Generate Flex and Bison files
if (${REBUILD_PLATFORM_DEPENDENT_CODE})
# flex files
OCCT_ORIGIN_AND_PATCHED_FILES ("src/${OCCT_PACKAGE}" "*[.]lex" SOURCE_FILES_FLEX)
list (LENGTH SOURCE_FILES_FLEX SOURCE_FILES_FLEX_LEN)
list (SORT SOURCE_FILES_FLEX)
# bison files
OCCT_ORIGIN_AND_PATCHED_FILES ("src/${OCCT_PACKAGE}" "*[.]yacc" SOURCE_FILES_BISON)
list (LENGTH SOURCE_FILES_BISON SOURCE_FILES_BISON_LEN)
list (SORT SOURCE_FILES_BISON)
if (${SOURCE_FILES_FLEX_LEN} EQUAL ${SOURCE_FILES_BISON_LEN} AND NOT ${SOURCE_FILES_FLEX_LEN} EQUAL 0)
math (EXPR SOURCE_FILES_FLEX_LEN "${SOURCE_FILES_FLEX_LEN} - 1")
foreach (FLEX_FILE_INDEX RANGE ${SOURCE_FILES_FLEX_LEN})
list (GET SOURCE_FILES_FLEX ${FLEX_FILE_INDEX} CURRENT_FLEX_FILE)
get_filename_component (CURRENT_FLEX_FILE_NAME ${CURRENT_FLEX_FILE} NAME_WE)
list (GET SOURCE_FILES_BISON ${FLEX_FILE_INDEX} CURRENT_BISON_FILE)
get_filename_component (CURRENT_BISON_FILE_NAME ${CURRENT_BISON_FILE} NAME_WE)
string (COMPARE EQUAL ${CURRENT_FLEX_FILE_NAME} ${CURRENT_BISON_FILE_NAME} ARE_FILES_EQUAL)
if (EXISTS "${CURRENT_FLEX_FILE}" AND EXISTS "${CURRENT_BISON_FILE}" AND ${ARE_FILES_EQUAL})
set (BISON_OUTPUT_FILE ${CURRENT_BISON_FILE_NAME}.tab.c)
set (FLEX_OUTPUT_FILE lex.${CURRENT_FLEX_FILE_NAME}.c)
BISON_TARGET (Parser_${CURRENT_BISON_FILE_NAME} ${CURRENT_BISON_FILE} ${CMP_DIR}/${BISON_OUTPUT_FILE} COMPILE_FLAGS "-p ${CURRENT_BISON_FILE_NAME}")
FLEX_TARGET (Scanner_${CURRENT_FLEX_FILE_NAME} ${CURRENT_FLEX_FILE} ${CMP_DIR}/${FLEX_OUTPUT_FILE} COMPILE_FLAGS "-P${CURRENT_FLEX_FILE_NAME}")
ADD_FLEX_BISON_DEPENDENCY (Scanner_${CURRENT_FLEX_FILE_NAME} Parser_${CURRENT_BISON_FILE_NAME})
list (APPEND SOURCE_FILES ${BISON_OUTPUT_FILE} ${FLEX_OUTPUT_FILE})
endif()
endforeach()
endif()
endif()
# header files
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/FILES")
file (STRINGS "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/FILES" HEADER_FILES_M REGEX ".+[.]h")
file (STRINGS "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/FILES" HEADER_FILES_LXX REGEX ".+[.]lxx")
file (STRINGS "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/FILES" HEADER_FILES_GXX REGEX ".+[.]gxx")
file (STRINGS "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/FILES" SOURCE_FILES_C REGEX ".+[.]c")
if(APPLE)
file (STRINGS "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/FILES" SOURCE_FILES_M REGEX ".+[.]mm")
endif()
else()
file (STRINGS "${CMAKE_SOURCE_DIR}/src/${OCCT_PACKAGE}/FILES" HEADER_FILES_M REGEX ".+[.]h")
file (STRINGS "${CMAKE_SOURCE_DIR}/src/${OCCT_PACKAGE}/FILES" HEADER_FILES_LXX REGEX ".+[.]lxx")
file (STRINGS "${CMAKE_SOURCE_DIR}/src/${OCCT_PACKAGE}/FILES" HEADER_FILES_GXX REGEX ".+[.]gxx")
file (STRINGS "${CMAKE_SOURCE_DIR}/src/${OCCT_PACKAGE}/FILES" SOURCE_FILES_C REGEX ".+[.]c")
if(APPLE)
file (STRINGS "${CMAKE_SOURCE_DIR}/src/${OCCT_PACKAGE}/FILES" SOURCE_FILES_M REGEX ".+[.]mm")
endif()
endif()
list (APPEND HEADER_FILES ${HEADER_FILES_M} ${HEADER_FILES_LXX} ${SOURCE_FILES_GXX})
list (APPEND SOURCE_FILES ${SOURCE_FILES_C})
if(APPLE)
list (APPEND SOURCE_FILES ${SOURCE_FILES_M})
endif()
foreach(HEADER_FILE ${HEADER_FILES})
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/${HEADER_FILE}")
message (STATUS "Info. consider patched file: ${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/${HEADER_FILE}")
list (APPEND USED_INCFILES "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/${HEADER_FILE}")
SOURCE_GROUP ("Header Files\\${OCCT_PACKAGE}" FILES "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/${HEADER_FILE}")
else()
list (APPEND USED_INCFILES "${CMAKE_SOURCE_DIR}/src/${OCCT_PACKAGE}/${HEADER_FILE}")
SOURCE_GROUP ("Header Files\\${OCCT_PACKAGE}" FILES "${CMAKE_SOURCE_DIR}/src/${OCCT_PACKAGE}/${HEADER_FILE}")
endif()
endforeach()
foreach(SOURCE_FILE ${SOURCE_FILES})
if (APPLY_OCCT_PATCH_DIR AND EXISTS "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/${SOURCE_FILE}")
message (STATUS "Info. consider patched file: ${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/${SOURCE_FILE}")
list (APPEND USED_SRCFILES "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/${SOURCE_FILE}")
SOURCE_GROUP ("Source Files\\${OCCT_PACKAGE}" FILES "${APPLY_OCCT_PATCH_DIR}/src/${OCCT_PACKAGE}/${SOURCE_FILE}")
else()
list (APPEND USED_SRCFILES "${CMAKE_SOURCE_DIR}/src/${OCCT_PACKAGE}/${SOURCE_FILE}")
SOURCE_GROUP ("Source Files\\${OCCT_PACKAGE}" FILES "${CMAKE_SOURCE_DIR}/src/${OCCT_PACKAGE}/${SOURCE_FILE}")
endif()
endforeach()
endforeach()
string (REGEX REPLACE ";" " " PRECOMPILED_DEFS "${PRECOMPILED_DEFS}")
# Get from toolkits EXTERNLIB all used libs
OCCT_TOOLKIT_DEP (${PROJECT_NAME} ${PROJECT_NAME}_DEPS)
foreach (PROJECT_DEP ${${PROJECT_NAME}_DEPS})
IS_OCCT_TOOLKIT (${PROJECT_DEP} OCCT_MODULES FOUND_TOOLKIT)
if ("${FOUND_TOOLKIT}" STREQUAL "ON")
list (APPEND USED_LIBS "${PROJECT_DEP}")
endif()
endforeach()
# Create project for toolkit
list (FIND BUILD_TOOLKITS ${PROJECT_NAME} CURRENT_PROJECT_IS_BUILT)
if ("${BUILD_TOOLKITS}" STREQUAL "" OR NOT ${CURRENT_PROJECT_IS_BUILT} EQUAL -1)
foreach (OCCT_MODULE ${OCCT_MODULES})
list (FIND ${OCCT_MODULE}_TOOLKITS ${PROJECT_NAME} CURRENT_PROJECT_IS_BUILT)
if (NOT ${CURRENT_PROJECT_IS_BUILT} EQUAL -1)
set (CURRENT_MODULE ${OCCT_MODULE})
endif()
endforeach()
if ("${PROJECT_NAME}" STREQUAL "DRAWEXE")
add_executable (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES})
install (TARGETS ${PROJECT_NAME}
CONFIGURATIONS Release
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
install (TARGETS ${PROJECT_NAME}
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
install (TARGETS ${PROJECT_NAME}
CONFIGURATIONS Debug
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
else()
add_library (${PROJECT_NAME} ${USED_SRCFILES} ${USED_INCFILES})
install (TARGETS ${PROJECT_NAME}
CONFIGURATIONS Release
RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin"
ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
install (TARGETS ${PROJECT_NAME}
CONFIGURATIONS RelWithDebInfo
RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini"
ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi")
install (TARGETS ${PROJECT_NAME}
CONFIGURATIONS Debug
RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind"
ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd"
LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd")
if (MSVC)
install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bind/${PROJECT_NAME}.pdb
CONFIGURATIONS Debug
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
endif()
endif()
set_property (TARGET ${PROJECT_NAME} PROPERTY FOLDER "Modules/${CURRENT_MODULE}")
set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${PRECOMPILED_DEFS}")
target_link_libraries (${PROJECT_NAME} ${USED_LIBS})
endif()

View File

@@ -1,7 +1,7 @@
# tbb
if (NOT DEFINED INSTALL_TBB)
set (INSTALL_TBB OFF CACHE BOOL "${INSTALL_TBB_DESCR}")
set (INSTALL_TBB OFF CACHE BOOL "Is tbb required to be copied into install directory")
endif()
# tbb directory
@@ -58,11 +58,6 @@ if (WIN32 AND NOT DEFINED 3RDPARTY_TBBMALLOC_DLL_DIR)
set (3RDPARTY_TBBMALLOC_DLL_DIR "" CACHE FILEPATH "The directory containing tbb malloc shared library")
endif()
if (MSVC)
add_definitions (-D__TBB_NO_IMPLICIT_LINKAGE)
add_definitions (-D__TBBMALLOC_NO_IMPLICIT_LINKAGE)
endif()
# include occt macros. compiler_bitness, os_wiht_bit, compiler
OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros")
@@ -209,7 +204,7 @@ if (INSTALL_TBB)
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
install (FILES ${3RDPARTY_TBB_DLL} ${3RDPARTY_TBBMALLOC_DLL}
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
install (FILES ${3RDPARTY_TBB_DLL} ${3RDPARTY_TBBMALLOC_DLL}
CONFIGURATIONS Debug
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
@@ -223,7 +218,7 @@ if (INSTALL_TBB)
RENAME ${TBBLIB}.2)
install (FILES ${3RDPARTY_TBB_LIBRARY}.2
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
RENAME ${TBBLIB}.2)
install (FILES ${3RDPARTY_TBB_LIBRARY}.2
CONFIGURATIONS Debug
@@ -236,7 +231,7 @@ if (INSTALL_TBB)
RENAME ${TBBMALLOCLIB}.2)
install (FILES ${3RDPARTY_TBBMALLOC_LIBRARY}.2
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
RENAME ${TBBMALLOCLIB}.2)
install (FILES ${3RDPARTY_TBBMALLOC_LIBRARY}.2
CONFIGURATIONS Debug

View File

@@ -1,7 +1,7 @@
# tcl
if (NOT DEFINED INSTALL_TCL)
set (INSTALL_TCL OFF CACHE BOOL "${INSTALL_TCL_DESCR}")
set (INSTALL_TCL OFF CACHE BOOL "Is tcl lib required to be copied into install directory")
endif()
# tcl directory
@@ -314,7 +314,7 @@ if (INSTALL_TCL)
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
install (FILES ${TCL_DLLS} ${TK_DLLS}
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
install (FILES ${TCL_DLLS} ${TK_DLLS}
CONFIGURATIONS Debug
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
@@ -325,7 +325,7 @@ if (INSTALL_TCL)
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
install (FILES ${3RDPARTY_TCL_LIBRARY_REALPATH}
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi")
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
install (FILES ${3RDPARTY_TCL_LIBRARY_REALPATH}
CONFIGURATIONS Debug
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd")
@@ -336,7 +336,7 @@ if (INSTALL_TCL)
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
install (FILES ${3RDPARTY_TK_LIBRARY_REALPATH}
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi")
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib")
install (FILES ${3RDPARTY_TK_LIBRARY_REALPATH}
CONFIGURATIONS Debug
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libd")

View File

@@ -1,111 +0,0 @@
# variable description
#
set (APPLY_OCCT_PATCH_DIR_DESCR
"Points to the directory recognized as a 'patch' for OCCT. If specified,
the files from this directory take precedence over the corresponding native
OCCT sources. This way you are able to introduce patches to Open CASCADE
Technology not affecting the original source distribution")
set (BUILD_LIBRARY_TYPE_DESCR
"Specifies the type of library to be created. 'Shared' libraries
are linked dynamically and loaded at runtime. 'Static' libraries
are archives of object files for use when linking other targets")
set (REBUILD_PLATFORM_DEPENDENT_CODE_DESCR
"Enables Flex/Bison lexical analyzers. OCCT source files relating to STEP reader and
ExprIntrp functionality are generated automatically with Flex/Bison. Checking this options
leads to automatic search of Flex/Bison binaries and regeneration of the mentioned files")
set (OCCT_ALGO_EXTENDED_OUTPUT_DESCR
"Enables extended messages of many OCCT algorithms, usually printed to cout.
These include messages on internal errors and special cases encountered, timing etc")
# install variables
set (INSTALL_DIR_DESCR
"The place where built OCCT libraries, headers, test cases (INSTALL_OCCT_TEST_CASES variable),
samples (INSTALL_OCCT_SAMPLES_DESCR variable) and certain 3rdparties (INSTALL_GL2PS, INSTALL_TBB and
other similar variables) will be placed during the installation process (building INSTALL project)")
macro (INSTALL_MESSAGE INSTALL_TARGET_VARIABLE INSTALL_TARGET_STRING)
set (${INSTALL_TARGET_VARIABLE}_DESCR
"Indicates whether ${INSTALL_TARGET_STRING} should be installed (building INSTALL
project) into the installation directory (INSTALL_DIR variable)")
endmacro()
INSTALL_MESSAGE (INSTALL_OCCT_SAMPLES "OCCT samples")
INSTALL_MESSAGE (INSTALL_OCCT_TEST_CASES "non-regression OCCT test scripts")
INSTALL_MESSAGE (INSTALL_DOC_OcctOverview "OCCT overview documentation (HTML format)")
INSTALL_MESSAGE (INSTALL_FREEIMAGE "FreeImage binaries")
INSTALL_MESSAGE (INSTALL_FREEIMAGEPLUS "FreeImagePlus binaries")
INSTALL_MESSAGE (INSTALL_FREETYPE "FreeType binaries")
INSTALL_MESSAGE (INSTALL_GL2PS "GL2PS binaries")
INSTALL_MESSAGE (INSTALL_TBB "TBB binaries")
INSTALL_MESSAGE (INSTALL_TCL "TCL binaries")
INSTALL_MESSAGE (INSTALL_VTK "VTK binaries ")
# build variables
macro (BUILD_MODULE_MESSAGE BUILD_MODULE_TARGET_VARIABLE BUILD_MODULE_TARGET_STRING)
set (${BUILD_MODULE_TARGET_VARIABLE}_DESCR
"Indicates whether ${BUILD_MODULE_TARGET_STRING} module should be built or not.
It should be noted that some toolkits of the module can be built even if this module
is not checked (this happens if some other modules depend on these toolkits)")
endmacro()
BUILD_MODULE_MESSAGE (BUILD_MODULE_ApplicationFramework "ApplicationFramework")
BUILD_MODULE_MESSAGE (BUILD_MODULE_DataExchange "DataExchange")
BUILD_MODULE_MESSAGE (BUILD_MODULE_Draw "Draw")
BUILD_MODULE_MESSAGE (BUILD_MODULE_FoundationClasses "FoundationClasses")
BUILD_MODULE_MESSAGE (BUILD_MODULE_ModelingAlgorithms "ModelingAlgorithms")
BUILD_MODULE_MESSAGE (BUILD_MODULE_ModelingData "ModelingData")
BUILD_MODULE_MESSAGE (BUILD_MODULE_Visualization "Visualization")
set (BUILD_ADDITIONAL_TOOLKITS_DESCR
"Semicolon-separated individual toolkits to include into build process. If you
want to build some particular libraries (toolkits) only, then you may uncheck
all modules in the corresponding BUILD_MODUE_* options and provide the list of
necessary libraries here. Of course, all dependencies will be resolved automatically")
set (BUILD_MODULE_OcctMfcSamples_DESCR
"Indicates whether OCCT MFC samples should be built together with OCCT.
These samples show some possibilities of using OCCT and they can be executed
with script samples.bat from the installation directory (INSTALL_DIR)")
set (BUILD_DOC_OcctOverview_DESCR
"Indicates whether OCCT overview documentation project (Markdown format) should be
created together with OCCT. It is not built together with OCCT. Checking this options
leads to automatic search of Doxygen binaries. Building of it will be call Doxygen command
to generate the documentation in HTML format. The documentation will be available in the
installation directory (overview.bat script) if INSTALL_DOC_OcctOverview variable is checked")
set (3RDPARTY_DIR_DESCR
"The root directory where all required 3-rd party products will be searched. If a
3-rd party product have been found - corresponding CMake variables will be specified
(VTK: 3RDPARTY_VTK_DIR, 3RDPARTY_VTK_INCLUDE_DIR, 3RDPARTY_VTK_LIBRARY_DIR)")
set (USE_FREEIMAGE_DESCR
"Indicates whether Freeimage product should be used in OCCT visualization
module for support of popular graphics image formats (PNG, BMP etc)")
set (USE_GL2PS_DESCR
"Indicates whether GL2PS product should be used in OCCT visualization
module for support of vector image formats (PS, EPS etc)")
set (USE_TBB_DESCR
"Indicates whether TBB 3-rd party is used or not. TBB stands for Threading Building Blocks,
the technology of Intel Corp, which comes with different mechanisms and patterns for
injecting parallelism into your application. OCCT remains parallel even without TBB product")
set (USE_VTK_DESCR
"Indicates whether VTK 3-rd party is used or not. VTK stands for Visualization
ToolKit, the technology of Kitware Inc intended for general-purpose scientific
visualization. OCCT comes with a bridge between CAD data representation and
VTK by means of its dedicated VIS component (VTK Integration Services).")
set (USE_GLX_DESCR "Indicates whether X11 OpenGl on OSX is used or not")
macro (BUILD_MODULE MODULE_NAME)
set (BUILD_MODULE_${MODULE_NAME} ON CACHE BOOL "${BUILD_MODULE_${MODULE_NAME}_DESCR}")
endmacro()

View File

@@ -1,7 +1,7 @@
# vtk
if (NOT DEFINED INSTALL_VTK)
set (INSTALL_VTK OFF CACHE BOOL "${INSTALL_VTK_DESCR}")
set (INSTALL_VTK OFF CACHE BOOL "Is vtk required to be copied into install directory")
endif()
# vtk directory
@@ -144,7 +144,7 @@ if (INSTALL_VTK)
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
install (FILES ${3RDPARTY_VTK_DLL}
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bini")
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin")
install (FILES ${3RDPARTY_VTK_DLL}
CONFIGURATIONS Debug
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bind")
@@ -161,7 +161,7 @@ if (INSTALL_VTK)
RENAME "lib${VTK_DLL_NAME}")
install(FILES "${3RDPARTY_VTK_LIBRARY_DIR}/lib${VTK_DLL_NAME}"
CONFIGURATIONS RelWithDebInfo
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/libi"
DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib"
RENAME "lib${VTK_DLL_NAME}")
install(FILES "${3RDPARTY_VTK_LIBRARY_DIR}/lib${VTK_DLL_NAME}"
CONFIGURATIONS Debug

View File

@@ -1,31 +1,9 @@
#!/usr/bin/tclsh
# =======================================================================
# Created on: 2012-01-26
# Created by: Kirill GAVRILOV
# Copyright (c) 2012 OPEN CASCADE SAS
#
# This file is part of Open CASCADE Technology software library.
#
# This library is free software; you can redistribute it and/or modify it under
# the terms of the GNU Lesser General Public License version 2.1 as published
# by the Free Software Foundation, with special exception defined in the file
# OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
# distribution for complete text of the license and disclaimer of any warranty.
#
# Alternatively, this file may be used under the terms of Open CASCADE
# commercial license or contractual agreement.
# =======================================================================
# GUI procedure for search of third-party tools and generation of environment
# customization script
# =======================================================================
# load tools
source [file join [file dirname [info script]] genconfdeps.tcl]
package require Tk
source "./adm/genconfdeps.tcl"
set aRowIter 0
frame .myFrame -padx 5 -pady 5
pack .myFrame -fill both -expand 1
@@ -35,15 +13,10 @@ set SYS_VC_LIST {}
set SYS_VCVARS_LIST {}
# detect installed Visual Studio instances from global environment
if { [info exists ::env(VS150COMNTOOLS)] } {
lappend ::SYS_VS_LIST "Visual Studio 201x (vc15)"
lappend ::SYS_VC_LIST "vc15"
lappend ::SYS_VCVARS_LIST "%VS150COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
}
if { [info exists ::env(VS140COMNTOOLS)] } {
lappend ::SYS_VS_LIST "Visual Studio 2015 (vc14)"
lappend ::SYS_VC_LIST "vc14"
lappend ::SYS_VCVARS_LIST "%VS140COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
if { [info exists ::env(VS130COMNTOOLS)] } {
lappend ::SYS_VS_LIST "Visual Studio 201x (vc13)"
lappend ::SYS_VC_LIST "vc13"
lappend ::SYS_VCVARS_LIST "%VS130COMNTOOLS%..\\..\\VC\\vcvarsall.bat"
}
if { [info exists ::env(VS120COMNTOOLS)] } {
lappend ::SYS_VS_LIST "Visual Studio 2013 (vc12)"

View File

@@ -1,23 +1,4 @@
# =======================================================================
# Created on: 2012-01-26
# Created by: Kirill GAVRILOV
# Copyright (c) 2012 OPEN CASCADE SAS
#
# This file is part of Open CASCADE Technology software library.
#
# This library is free software; you can redistribute it and/or modify it under
# the terms of the GNU Lesser General Public License version 2.1 as published
# by the Free Software Foundation, with special exception defined in the file
# OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
# distribution for complete text of the license and disclaimer of any warranty.
#
# Alternatively, this file may be used under the terms of Open CASCADE
# commercial license or contractual agreement.
# =======================================================================
# Tools for search of third-party libraries and generation on environment
# customization script
# =======================================================================
#!/usr/bin/tclsh
set ARCH "64"
@@ -426,56 +407,43 @@ proc wokdep:SearchFreeImage {theErrInc theErrLib32 theErrLib64 theErrBin32 theEr
set aFImagePlusDist "Wrapper/FreeImagePlus/dist"
set isFound "true"
set aFImageHPath [wokdep:SearchHeader "FreeImage.h"]
if { "$aFImageHPath" == "" } {
set aFImageHPath [wokdep:SearchHeader "FreeImage.h"]
set aFImagePlusHPath [wokdep:SearchHeader "FreeImagePlus.h"]
if { "$aFImageHPath" == "" || "$aFImagePlusHPath" == "" } {
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{freeimage}*] "$::VCVER" "$::ARCH" ]
if { "$aPath" != "" && [file exists "$aPath/include/FreeImage.h"] } {
if { "$aPath" != "" && [file exists "$aPath/include/FreeImage.h"] && [file exists "$aPath/include/FreeImagePlus.h"] } {
lappend ::CSF_OPT_INC "$aPath/include"
} elseif { "$aPath" != "" && [file exists "$aPath/$aFImageDist/FreeImage.h"] } {
} elseif { "$aPath" != "" && [file exists "$aPath/$aFImageDist/FreeImage.h"] && [file exists "$aPath/$aFImagePlusDist/FreeImagePlus.h"] } {
lappend ::CSF_OPT_INC "$aPath/$aFImageDist"
if { [file exists "$aPath/$aFImagePlusDist/FreeImagePlus.h"] } {
lappend ::CSF_OPT_INC "$aPath/$aFImagePlusDist"
}
lappend ::CSF_OPT_INC "$aPath/$aFImagePlusDist"
} else {
lappend anErrInc "Error: 'FreeImage.h' not found (FreeImage)"
lappend anErrInc "Error: 'FreeImage.h' or 'FreeImagePlus.h' not found (FreeImage)"
set isFound "false"
}
}
set aFImagePlusHPath [wokdep:SearchHeader "FreeImagePlus.h"]
if { "$::tcl_platform(platform)" == "windows" && "$aFImagePlusHPath" == "" } {
lappend anErrInc "Error: 'FreeImagePlus.h' not found (FreeImage)"
set isFound "false"
}
foreach anArchIter {64 32} {
set aFImageLibPath [wokdep:SearchLib "freeimage" "$anArchIter"]
if { "$aFImageLibPath" == "" } {
set aFImageLibPath [wokdep:SearchLib "freeimage" "$anArchIter"]
set aFImagePlusLibPath [wokdep:SearchLib "freeimageplus" "$anArchIter"]
if { "$aFImageLibPath" == "" || "$aFImagePlusLibPath" == "" } {
set aPath [wokdep:Preferred [glob -nocomplain -directory "$::PRODUCTS_PATH" -type d *{freeimage}*] "$::VCVER" "$anArchIter" ]
set aFImageLibPath [wokdep:SearchLib "freeimage" "$anArchIter" "$aPath/lib"]
if { "$aFImageLibPath" != "" } {
set aFImageLibPath [wokdep:SearchLib "freeimage" "$anArchIter" "$aPath/lib"]
set aFImagePlusLibPath [wokdep:SearchLib "freeimageplus" "$anArchIter" "$aPath/lib"]
if { "$aFImageLibPath" != "" && "$aFImagePlusLibPath" != "" } {
lappend ::CSF_OPT_LIB$anArchIter "$aPath/lib"
} else {
set aFImageLibPath [wokdep:SearchLib "freeimage" "$anArchIter" "$aPath/$aFImageDist"]
if { "$aFImageLibPath" != "" } {
set aFImageLibPath [wokdep:SearchLib "freeimage" "$anArchIter" "$aPath/$aFImageDist"]
set aFImagePlusLibPath [wokdep:SearchLib "freeimageplus" "$anArchIter" "$aPath/$aFImagePlusDist"]
if { "$aFImageLibPath" != "" && "$aFImagePlusLibPath" != "" } {
lappend ::CSF_OPT_LIB$anArchIter "$aPath/$aFImageDist"
set aFImagePlusLibPath [wokdep:SearchLib "freeimageplus" "$anArchIter" "$aPath/$aFImagePlusDist"]
if { "$aFImagePlusLibPath" != "" } {
lappend ::CSF_OPT_LIB$anArchIter "$aPath/$aFImagePlusDist"
}
lappend ::CSF_OPT_LIB$anArchIter "$aPath/$aFImagePlusDist"
} else {
lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}freeimage.${::SYS_LIB_SUFFIX}' not found (FreeImage)"
lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}freeimage.${::SYS_LIB_SUFFIX}' or '${::SYS_LIB_PREFIX}freeimageplus.${::SYS_LIB_SUFFIX}' not found (FreeImage)"
if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
}
}
}
if { "$::tcl_platform(platform)" == "windows" } {
set aFImagePlusLibPath [wokdep:SearchLib "freeimageplus" "$anArchIter"]
if { "$aFImagePlusLibPath" == "" } {
lappend anErrLib$anArchIter "Error: '${::SYS_LIB_PREFIX}freeimageplus.${::SYS_LIB_SUFFIX}' not found (FreeImage)"
if { "$::ARCH" == "$anArchIter"} { set isFound "false" }
}
set aFImageDllPath [wokdep:SearchBin "freeimage.dll" "$anArchIter"]
set aFImagePlusDllPath [wokdep:SearchBin "freeimageplus.dll" "$anArchIter"]
if { "$aFImageDllPath" == "" || "$aFImagePlusDllPath" == "" } {

View File

@@ -14,14 +14,9 @@
#
# Alternatively, this file may be used under the terms of Open CASCADE
# commercial license or contractual agreement.
#
# Brief: This script compiles OCCT documents from *.md files to HTML pages
# =======================================================================
# This script defines command gendoc compiling OCCT documents
# from *.md files to HTML pages
# =======================================================================
# load auxiliary tools
source [file join [file dirname [info script]] occaux.tcl]
# ======================================
# Common functions
@@ -171,7 +166,7 @@ proc gendoc {args} {
if { $DOCTYPE_COMBO_FLAG != 1 } {
set DOC_TYPE "REFMAN"
set DOCTYPE_COMBO_FLAG 1
if { [info exists env(PRODROOT)] && [file exists $::env(PRODROOT)/src/VAS/Products.tcl] } {
if { [file exists [pwd]/src/VAS/Products.tcl] } {
set GENERATE_PRODUCTS_REFMAN "YES"
}
} else {
@@ -195,6 +190,13 @@ proc gendoc {args} {
puts ""
}
if { $GENERATE_PRODUCTS_REFMAN == "YES" } {
if { [ lsearch $args_names "m" ] == -1 } {
puts "\nError: Cannot generate Reference Manual for the whole set of OCC Products."
puts "Aborting..."
return -1
}
}
} elseif {$arg_n == "v"} {
set VERB_MODE "YES"
} elseif {$arg_n == "ug"} {
@@ -304,8 +306,9 @@ proc gendoc {args} {
puts ""
# Clean logfiles
set DOXYLOG [OCCDoc_GetRootDir]/doc/doxygen_warnings_and_errors.log
set PDFLOG [OCCDoc_GetRootDir]/doc/pdflatex_warnings_and_errors.log
set OUTDIR [OCCDoc_GetRootDir]/doc/
set DOXYLOG $OUTDIR/doxygen_warnings_and_errors.log
set PDFLOG $OUTDIR/pdflatex_warnings_and_errors.log
file delete -force $PDFLOG
file delete -force $DOXYLOG
@@ -335,7 +338,7 @@ proc OCCDoc_Main {docType {docfiles {}} {modules {}} generatorMode verboseMode s
set PRODPATH ""
if { [string compare -nocase $generateProductsRefman "YES"] == 0 } {
set PRODPATH "$::env(PRODROOT)"
set PRODPATH [pwd]
}
set ROOTDIR [OCCDoc_GetRootDir $PRODPATH]
@@ -348,7 +351,7 @@ proc OCCDoc_Main {docType {docfiles {}} {modules {}} generatorMode verboseMode s
set HTMLDIR $OUTDIR/overview/html
set LATEXDIR $OUTDIR/overview/latex
set DOXYFILE $OUTDIR/OCCT.cfg
# Create or cleanup the output folders
if { [string compare -nocase $generateProductsRefman "YES"] != 0 } {
if { ![file exists $OUTDIR] } {

File diff suppressed because it is too large Load Diff

View File

@@ -14,10 +14,9 @@
#
# Alternatively, this file may be used under the terms of Open CASCADE
# commercial license or contractual agreement.
# =======================================================================
# This script contains auxilary functions which can be used
# in documentation generation process
#
# Brief: This script contains auxilary functions which can be used
# in documentation generation process
# =======================================================================
# ==============================================
@@ -532,7 +531,6 @@ proc OCCDoc_GetModulesList { {theProductsDir ""} } {
source "[OCCDoc_GetSourceDir $theProductsDir]/VAS/Products.tcl"
# load a command from this file
set modules [VAS:Products]
set modules [lsearch -not -all -inline $modules "VAS"]
}
return $modules
@@ -542,7 +540,7 @@ proc OCCDoc_GetModulesList { {theProductsDir ""} } {
proc OCCDoc_GetHeadersList { theDesiredContent thePackageName {theProductsDir ""} } {
# Get list of header files with path
set files_list [split [glob -nocomplain -type f -directory "[OCCDoc_GetSourceDir $theProductsDir]/$thePackageName" "${thePackageName}.hxx" "${thePackageName}_*.hxx"]]
set files_list [split [glob -nocomplain -type f -directory "[OCCDoc_GetIncDir $theProductsDir]" "${thePackageName}.hxx" "${thePackageName}_*.hxx"]]
# Get content according to desired type ('p' for path and 'f' for filenames only)
if { $theDesiredContent == "p" } {

View File

@@ -1,30 +1,8 @@
#!/usr/bin/tclsh
# =======================================================================
# Created on: 2014-03-21
# Created by: OMY
# Copyright (c) 1996-1999 Matra Datavision
# Copyright (c) 1999-2014 OPEN CASCADE SAS
#
# This file is part of Open CASCADE Technology software library.
#
# This library is free software; you can redistribute it and/or modify it under
# the terms of the GNU Lesser General Public License version 2.1 as published
# by the Free Software Foundation, with special exception defined in the file
# OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
# distribution for complete text of the license and disclaimer of any warranty.
#
# Alternatively, this file may be used under the terms of Open CASCADE
# commercial license or contractual agreement.
if { [llength $argv] < 1 } {
puts "Command-line starter for Tcl command defined in same-named file."
puts "Use it as follows:"
puts "\> tclsh start.tcl command \[arguments\]"
return
}
# Command-line starter for occdoc command, use it as follows:
# tclsh> source dox/start.tcl [arguments]
set cmdname [lindex $argv 0]
source [file join [file dirname [info script]] $cmdname.tcl]
eval $cmdname [lrange $argv 1 end]
source [file join [file dirname [info script]] occaux.tcl]
source [file join [file dirname [info script]] gendoc.tcl]
gendoc {*}$::argv

157
adm/templates/acinclude.m4 Normal file
View File

@@ -0,0 +1,157 @@
#------------------------------------------------------------------------
# Check for TCL
# Options: --with-tcl= : Specify location of tclConfig.sh
# --without-tcl= : Skip check for TCL, assume not installed
# Defines:
# HAVE_TCL : yes/no
# Everything from tclConfig.sh
#------------------------------------------------------------------------
AC_DEFUN([SC_TCL_CFG], [
AC_ARG_WITH(tcl,
AC_HELP_STRING([--with-tcl=PATH],[Directory containing tclConfig.sh])
AC_HELP_STRING([--without-tcl], [Assume no tcl libraries available]) ,
[with_tcl="${withval}";require_tcl=yes],[with_tcl=yes;require_tcl=no])
# If user requested disabling of tcl check
if test "xno" = "x$with_tcl"; then
HAVE_TCL=no
require_tcl=no
# Otherwise...
else
HAVE_TCL=no
# Search for tclConfig.sh
if test "xyes" != "x$with_tcl"; then
# If user specified location
. "${with_tcl}/tclConfig.sh" || AC_MSG_ERROR("Cannot read file: ${with_tcl}/tclConfig.sh")
HAVE_TCL=yes
else
# Search for tclConfig.sh in usual spots
tcl_cfg_file=
AC_MSG_CHECKING([for tclConfig.sh])
for i in /usr /usr/local ${prefix} /opt/sfw /usr/tcltk; do
if test -d $i; then
for j in $i/lib $i/lib/tcl $i/lib/tcl[[8-9]].[[0-9]] $i/lib/itcl; do
if test -r "$j/tclConfig.sh"; then
tcl_cfg_file="$j/tclConfig.sh"
break
fi
done
fi
if test "x" != "x$tcl_cfg_file"; then
break
fi
done
AC_MSG_RESULT("$tcl_cfg_file")
if test "x" != "x$tcl_cfg_file"; then
. "$tcl_cfg_file" || AC_MSG_ERROR("Cannot read file: $tcl_cfg_file")
HAVE_TCL=yes
# if TCL_INCLUDE_SPEC wasn't defined, try to define it using TCL_INC_DIR
if test "x" = "x$TCL_INCLUDE_SPEC"; then
inc_path=`expr "x$TCL_INC_DIR" : "x\(.*\)/tcl-private/generic"`
if test "x" != "$inc_path"; then
TCL_INCLUDE_SPEC="-I$inc_path"
elif test "x" != "x$TCL_INC_DIR"; then
TCL_INCLUDE_SPEC="-I$TCL_INC_DIR"
fi
fi
else
HAVE_TCL=no
fi
fi
# Check for tcl.h
AC_LANG_C
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $TCL_INCLUDE_SPEC"
AC_CHECK_HEADER([tcl.h],[],[HAVE_TCL=no])
CPPFLAGS="$save_CPPFLAGS"
if test "xyes" = "x$require_tcl"; then
if test "xno" = "x$HAVE_TCL"; then
AC_MSG_ERROR([TCL not found.])
fi
fi
fi
])
#------------------------------------------------------------------------
# Check for Tk
# Options: --with-tk= : Specify location of Tk
# --without-tk= : Skip check for Tk, assume not installed
# Defines:
# HAVE_TK : yes/no
# Everything from tkConfig.sh
#------------------------------------------------------------------------
AC_DEFUN([SC_TK_CFG], [
AC_ARG_WITH(tk,
AC_HELP_STRING([--with-tk=PATH],[Directory containing tkConfig.sh])
AC_HELP_STRING([--without-tk], [Assume no Tk libraries available]) ,
[with_tk="${withval}";require_tk=yes],[with_tk=yes;require_tk=no])
# If user requested disabling of Tk check
if test "xno" = "x$with_tk"; then
HAVE_TK=no
require_tk=no
# Otherwise...
else
HAVE_TK=no
# Search for tkConfig.sh
if test "xyes" != "x$with_tk"; then
# If user specified location
. "${with_tk}/tkConfig.sh" || AC_MSG_ERROR("Cannot read file: ${with_tk}/tkConfig.sh")
HAVE_TK=yes
else
# Search for tkConfig.sh in usual spots
tk_cfg_file=
AC_MSG_CHECKING([for tkConfig.sh])
for i in /usr /usr/local ${prefix} /opt/sfw /usr/tcltk; do
if test -d $i; then
for j in $i/lib $i/lib/tk $i/lib/tk[[8-9]].[[0-9]] $i/lib/itcl; do
if test -r "$j/tkConfig.sh"; then
tk_cfg_file="$j/tkConfig.sh"
break
fi
done
fi
if test "x" != "x$tk_cfg_file"; then
break
fi
done
AC_MSG_RESULT("$tk_cfg_file")
if test "x" != "x$tk_cfg_file"; then
. "$tk_cfg_file" || AC_MSG_ERROR("Cannot read file: $tk_cfg_file")
HAVE_TK=yes
# if TK_INCLUDE_SPEC wasn't defined, try to define it using TK_INC_DIR
if test "x" = "x$TK_INCLUDE_SPEC"; then
inc_path=`expr "x$TK_INC_DIR" : "x\(.*\)/tk-private/generic"`
if test "x" != "$inc_path"; then
TK_INCLUDE_SPEC="-I$inc_path"
elif test "x" != "x$TK_INC_DIR"; then
TK_INCLUDE_SPEC="-I$TK_INC_DIR"
fi
fi
else
HAVE_TK=no
fi
fi
# Check for tk.h
AC_LANG_C
HAVE_TK=yes
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $TCL_INCLUDE_SPEC $TK_INCLUDE_SPEC"
AC_CHECK_HEADER([tk.h],[],[HAVE_TK=no])
CPPFLAGS="$save_CPPFLAGS"
if test "xyes" = "x$require_tk"; then
if test "xno" = "x$HAVE_TK"; then
AC_MSG_ERROR([Tk not found.])
fi
fi
fi
])

View File

@@ -9,6 +9,7 @@ if "%VCVER%" == "@COMPILER@" (
set "GL2PS_DIR=@USED_3RDPARTY_GL2PS_DIR@"
set "TBB_DIR=@USED_3RDPARTY_TBB_DIR@"
set "VTK_DIR=@USED_3RDPARTY_VTK_DIR@"
set "CSF_TestDataPath=@TESTS_SHAPES_DIR@"
)
)

View File

@@ -6,8 +6,6 @@ if /I ["%ARCH%"] == ["win32"] set "ARCH=32"
if /I ["%ARCH%"] == ["win64"] set "ARCH=64"
if /I ["%3"] == ["debug"] set "CASDEB=d"
if /I ["%3"] == ["d"] set "CASDEB=d"
if /I ["%3"] == ["i"] set "CASDEB=i"
if /I ["%3"] == ["relwithdeb"] set "CASDEB=i"
rem include other custom.bat files with specific 3rdparty paths
@ADDITIONAL_CUSTOM_CONTENT@

View File

@@ -1,14 +0,0 @@
echo off
if "%VCVER%" == "@COMPILER@" (
if "%ARCH%" == "@COMPILER_BITNESS@" (
set "TCL_DIR=@3RDPARTY_TCL_DLL_DIR@"
set "FREETYPE_DIR=@3RDPARTY_FREETYPE_DLL_DIR@"
set "FREEIMAGE_DIR=@3RDPARTY_FREEIMAGE_DLL_DIR@"
set "FREEIMAGEPLUS_DIR=@3RDPARTY_FREEIMAGEPLUS_DLL_DIR@"
set "GL2PS_DIR=@3RDPARTY_GL2PS_DLL_DIR@"
set "TBB_DIR=@3RDPARTY_TBB_DLL_DIR@"
set "VTK_DIR=@3RDPARTY_VTK_DLL_DIR@"
)
)

View File

@@ -1,13 +0,0 @@
#!/bin/bash
if [ "$COMPILER" == "@COMPILER@" ]; then
if [ "$ARCH" == "@COMPILER_BITNESS@" ]; then
export TCL_DIR="@3RDPARTY_TCL_LIBRARY_DIR@"
export FREETYPE_DIR="@3RDPARTY_FREETYPE_LIBRARY_DIR@"
export FREEIMAGE_DIR="@3RDPARTY_FREEIMAGE_LIBRARY_DIR@"
export GL2PS_DIR="@3RDPARTY_GL2PS_LIBRARY_DIR@"
export TBB_DIR="@3RDPARTY_TBB_LIBRARY_DIR@"
export VTK_DIR="@3RDPARTY_VTK_LIBRARY_DIR@"
fi
fi

View File

@@ -8,6 +8,7 @@ if [ "$COMPILER" == "@COMPILER@" ]; then
export GL2PS_DIR="@USED_3RDPARTY_GL2PS_DIR@"
export TBB_DIR="@USED_3RDPARTY_TBB_DIR@"
export VTK_DIR="@USED_3RDPARTY_VTK_DIR@"
export CSF_TestDataPath="@TESTS_SHAPES_DIR@"
fi
fi

View File

@@ -42,18 +42,12 @@ if /I ["%ARCH%"] == ["win32"] set "ARCH=32"
if /I ["%ARCH%"] == ["win64"] set "ARCH=64"
if /I ["%3"] == ["debug"] set "CASDEB=d"
if /I ["%3"] == ["d"] set "CASDEB=d"
if /I ["%3"] == ["i"] set "CASDEB=i"
if /I ["%3"] == ["relwithdeb"] set "CASDEB=i"
set "CSF_OPT_INC=%CSF_OPT_INC%;%CASROOT%\inc"
set "CSF_OPT_LIB32D=%CSF_OPT_LIB32%;%CASROOT%\win32\%VCVER%\libd"
set "CSF_OPT_LIB64D=%CSF_OPT_LIB64%;%CASROOT%\win64\%VCVER%\libd"
set "CSF_OPT_BIN32D=%CSF_OPT_BIN32%;%CASROOT%\win32\%VCVER%\bind"
set "CSF_OPT_BIN64D=%CSF_OPT_BIN64%;%CASROOT%\win64\%VCVER%\bind"
set "CSF_OPT_LIB32I=%CSF_OPT_LIB32%;%CASROOT%\win32\%VCVER%\libi"
set "CSF_OPT_LIB64I=%CSF_OPT_LIB64%;%CASROOT%\win64\%VCVER%\libi"
set "CSF_OPT_BIN32I=%CSF_OPT_BIN32%;%CASROOT%\win32\%VCVER%\bini"
set "CSF_OPT_BIN64I=%CSF_OPT_BIN64%;%CASROOT%\win64\%VCVER%\bini"
set "CSF_OPT_LIB32=%CSF_OPT_LIB32%;%CASROOT%\win32\%VCVER%\lib"
set "CSF_OPT_LIB64=%CSF_OPT_LIB64%;%CASROOT%\win64\%VCVER%\lib"
set "CSF_OPT_BIN32=%CSF_OPT_BIN32%;%CASROOT%\win32\%VCVER%\bin"
@@ -99,24 +93,23 @@ for %%a in ("%CSF_OPT_LIB64:;=";"%") do (
if not ["%%~a"] == [""] call :concatLib64 %%~a
)
set "CSF_OPT_LNK32="
set "CSF_OPT_LNK64="
set "CSF_OPT_LNK32D="
set "CSF_OPT_LNK64D="
set "CSF_OPT_LNK32=%CSF_OPT_LNK32% %OPT_LIB32%"
set "CSF_OPT_LNK64=%CSF_OPT_LNK64% %OPT_LIB64%"
set "CSF_OPT_LNK32D=%CSF_OPT_LNK32D% %OPT_LIB32%"
set "CSF_OPT_LNK64=%CSF_OPT_LNK64% %OPT_LIB64%"
set "CSF_OPT_LNK64D=%CSF_OPT_LNK64D% %OPT_LIB64%"
set "CSF_OPT_LNK32I=%CSF_OPT_LNK32I% %OPT_LIB32%"
set "CSF_OPT_LNK64I=%CSF_OPT_LNK64I% %OPT_LIB64%"
set "CASBIN=win%ARCH%\%VCVER%"
rem ----- Set path to 3rd party and OCCT libraries -----
set "PATH=%SCRIPTROOT%\%CASBIN%\bin%CASDEB%;%PATH%"
if ["%CASDEB%"] == [""] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32%;%PATH%"
if ["%CASDEB%"] == [""] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64%;%PATH%"
if ["%CASDEB%"] == ["d"] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32D%;%PATH%"
if ["%CASDEB%"] == ["d"] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64D%;%PATH%"
if ["%CASDEB%"] == ["i"] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32I%;%PATH%"
if ["%CASDEB%"] == ["i"] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64I%;%PATH%"
if ["%CASDEB%"] == [""] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32%;%PATH%"
if ["%CASDEB%"] == [""] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64%;%PATH%"
if not ["%CASDEB%"] == [""] if ["%ARCH%"] == ["32"] set "PATH=%CSF_OPT_BIN32D%;%PATH%"
if not ["%CASDEB%"] == [""] if ["%ARCH%"] == ["64"] set "PATH=%CSF_OPT_BIN64D%;%PATH%"
rem ----- Set envoronment variables used by OCCT -----
set CSF_LANGUAGE=us

View File

@@ -5,7 +5,7 @@ set "SCRIPTROOT=%SCRIPTROOT:~0,-1%"
set "VCVER=@COMPILER@"
set "ARCH=@COMPILER_BITNESS@"
set "CASDEB=@BUILD_LETTER@"
set "CASDEB="
if not ["%1"] == [""] set "VCVER=%1"
if not ["%2"] == [""] set "ARCH=%2"
@@ -13,15 +13,12 @@ if /I ["%ARCH%"] == ["win32"] set "ARCH=32"
if /I ["%ARCH%"] == ["win64"] set "ARCH=64"
if /I ["%3"] == ["debug"] set "CASDEB=d"
if /I ["%3"] == ["d"] set "CASDEB=d"
if /I ["%3"] == ["i"] set "CASDEB=i"
if /I ["%3"] == ["relwithdeb"] set "CASDEB=i"
if exist "%~dp0custom.bat" (
call "%~dp0custom.bat" %VCVER% %ARCH% %CASDEB%
)
if ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%"
set "PRODROOT="
set "ORIGIN_PATH=%PATH%"

View File

@@ -15,15 +15,12 @@ if /I ["%ARCH%"] == ["win32"] set "ARCH=32"
if /I ["%ARCH%"] == ["win64"] set "ARCH=64"
if /I ["%3"] == ["debug"] set "CASDEB=d"
if /I ["%3"] == ["d"] set "CASDEB=d"
if /I ["%3"] == ["i"] set "CASDEB=i"
if /I ["%3"] == ["relwithdeb"] set "CASDEB=i"
if exist "%~dp0custom.bat" (
call "%~dp0custom.bat" %1 %2 %3
)
if ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%"
set "PRODROOT="
set "ORIGIN_PATH=%PATH%"

View File

@@ -13,8 +13,6 @@ shopt -s nocasematch
export CASDEB="";
if [[ "$1" == "debug" ]]; then export CASDEB="d"; fi
if [[ "$1" == "d" ]]; then export CASDEB="d"; fi
if [[ "$1" == "relwithdeb" ]]; then export CASDEB="i"; fi
if [[ "$1" == "i" ]]; then export CASDEB="i"; fi
shopt -u nocasematch
export COMPILER="@COMPILER@"

View File

@@ -36,8 +36,6 @@ for i in $*
do
if [ "$i" == "d" ] || [ "$i" == "debug" ]; then
export CASDEB="d"
elif [ "$i" == "i" ] || [ "$i" == "relwithdeb" ]; then
export CASDEB="i"
elif [ "$i" == "cbp" ]; then
export TARGET="cbp";
elif [ "$i" == "xcd" ] || [ "$i" == "xcode" ]; then
@@ -76,15 +74,11 @@ if [ "${TARGET}" == "cbp" ]; then
export CSF_OPT_LIB64D="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/libd"
export CSF_OPT_LIB32="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/lib"
export CSF_OPT_LIB64="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/lib"
export CSF_OPT_LIB32I="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/libi"
export CSF_OPT_LIB64I="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/libi"
elif [ "${TARGET}" == "xcd" ]; then
export CSF_OPT_LIB32D="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/Debug"
export CSF_OPT_LIB64D="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/Debug"
export CSF_OPT_LIB32="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/Release"
export CSF_OPT_LIB64="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/Release"
export CSF_OPT_LIB32I="${CSF_OPT_LIB32}:${CASROOT}/${CASBIN}/RelWithDebInfo"
export CSF_OPT_LIB64I="${CSF_OPT_LIB64}:${CASROOT}/${CASBIN}/RelWithDebInfo"
fi
export CSF_OPT_CMPL=""
@@ -128,15 +122,11 @@ if [ "$ARCH" == "32" ]; then
declare -a aPartiesLibs=($*)
set -- "$CSF_OPT_LIB32D"
declare -a aPartiesLibsDeb=($*)
set -- "$CSF_OPT_LIB32I"
declare -a aPartiesLibsRelWithDebInfo=($*)
else
set -- "$CSF_OPT_LIB64"
declare -a aPartiesLibs=($*)
set -- "$CSF_OPT_LIB64D"
declare -a aPartiesLibsDeb=($*)
set -- "$CSF_OPT_LIB64I"
declare -a aPartiesLibsRelWithDebInfo=($*)
fi
# Turn back value
@@ -148,12 +138,6 @@ do
OPT_LINKER_OPTIONS_DEB="${OPT_LINKER_OPTIONS_DEB} -L${anItem}"
done
OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO=""
for anItem in ${aPartiesLibsRelWithDebInfo[*]}
do
OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO="${OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO} -L${anItem}"
done
OPT_LINKER_OPTIONS=""
for anItem in ${aPartiesLibs[*]}
do
@@ -168,11 +152,9 @@ done
if [ "$ARCH" == "64" ]; then
export CSF_OPT_LNK64="$OPT_LINKER_OPTIONS"
export CSF_OPT_LNK64D="$OPT_LINKER_OPTIONS_DEB"
export CSF_OPT_LNK64I="$OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO"
else
export CSF_OPT_LNK32="$OPT_LINKER_OPTIONS"
export CSF_OPT_LNK32D="$OPT_LINKER_OPTIONS_DEB"
export CSF_OPT_LNK32I="$OPT_LINKER_OPTIONS_REL_WITH_DEB_INFO"
fi

View File

@@ -11,8 +11,6 @@ shopt -s nocasematch
export CASDEB="";
if [[ "$1" == "debug" ]]; then export CASDEB="d"; fi
if [[ "$1" == "d" ]]; then export CASDEB="d"; fi
if [[ "$1" == "relwithdeb" ]]; then export CASDEB="i"; fi
if [[ "$1" == "i" ]]; then export CASDEB="i"; fi
shopt -u nocasematch
export COMPILER="@COMPILER@"

View File

@@ -26,8 +26,6 @@ if "%VCVER%" == "vc8" (
) else if "%VCVER%" == "vc12" (
set "DevEnvDir=%VS120COMNTOOLS%..\IDE"
set "VisualStudioExpressName=WDExpress"
) else if "%VCVER%" == "vc14" (
set "DevEnvDir=%VS140COMNTOOLS%..\IDE"
) else (
echo Error: wrong VS identifier
exit /B

1170
adm/templates/template.ac Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,22 @@
# Makefile.am for Open Cascade toolkit __TKNAM__
srcdir = @srcdir@
VPATH = @srcdir@ : \
__VPATH__
AM_CXXFLAGS = __CXXFLAG__
AM_CFLAGS = __CFLAG__
INCLUDES = $(CSF_OPT_INCLUDES) __EXTERNINC__ \
-I@top_srcdir@/inc \
__INCLUDES__
lib_LTLIBRARIES=lib__TKNAM__.la
lib__TKNAM___la_LIBADD = $(CSF_OPT_LIBS) \
__LIBADD__ \
__EXTERNLIB__
lib__TKNAM___la_SOURCES = \
__SOURCES__

View File

@@ -0,0 +1,10 @@
# Makefile.am for executable __XQTNAM__
srcdir = @srcdir@
VPATH = @srcdir@ : \
@top_srcdir@/src/__XQTNAM__
INCLUDES = $(CSF_OPT_INCLUDES) __EXTERNINC__ \
-I@top_srcdir@/inc \
-I@top_srcdir@/src/__XQTNAM__

View File

@@ -24,19 +24,15 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>__VCVEREXT__</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>__VCVEREXT__</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>__VCVEREXT__</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>__VCVEREXT__</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@@ -56,17 +52,17 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\__VCVER__\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\__VCVER__\obj\__TKNAM__\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\vc10\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\vc10\obj\__TKNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\__VCVER__\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\__VCVER__\objd\__TKNAM__\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\vc10\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\vc10\objd\__TKNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\__VCVER__\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\__VCVER__\obj\__TKNAM__\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\vc10\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\vc10\obj\__TKNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\__VCVER__\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\__VCVER__\objd\__TKNAM__\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\vc10\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\vc10\objd\__TKNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -75,7 +71,7 @@
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win32\__VCVER__\bin\__TKNAM__.tlb</TypeLibraryName>
<TypeLibraryName>.\..\..\..\win32\vc10\bin\__TKNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
@@ -90,13 +86,14 @@
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<AssemblerListingLocation>.\..\..\..\win32\__VCVER__\obj\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\__VCVER__\obj\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\__VCVER__\obj\__TKNAM__/</ProgramDataBaseFileName>
<AssemblerListingLocation>.\..\..\..\win32\vc10\obj\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\vc10\obj\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\vc10\obj\__TKNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL32__
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -104,12 +101,12 @@
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\..\..\..\win32\__VCVER__\bin\__TKNAM__.dll</OutputFile>
<OutputFile>.\..\..\..\win32\vc10\bin\__TKNAM__.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win32\__VCVER__\bin\__TKNAM__.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\..\..\win32\vc10\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win32\vc10\bin\__TKNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win32\__VCVER__\lib\__TKNAM__.lib</ImportLibrary>
<ImportLibrary>..\..\..\win32\vc10\lib\__TKNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -118,7 +115,7 @@
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win32\__VCVER__\bind\__TKNAM__.tlb</TypeLibraryName>
<TypeLibraryName>.\..\..\..\win32\vc10\bind\__TKNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
@@ -131,16 +128,17 @@
<PreprocessorDefinitions>DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AssemblerListingLocation>.\..\..\..\win32\__VCVER__\objd\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\__VCVER__\objd\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\__VCVER__\objd\__TKNAM__/</ProgramDataBaseFileName>
<AssemblerListingLocation>.\..\..\..\win32\vc10\objd\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\vc10\objd\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\vc10\objd\__TKNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL32__
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -148,13 +146,13 @@
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\..\..\..\win32\__VCVER__\bind\__TKNAM__.dll</OutputFile>
<OutputFile>.\..\..\..\win32\vc10\bind\__TKNAM__.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>..\..\..\win32\vc10\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\..\win32\__VCVER__\bind\__TKNAM__.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>..\..\..\win32\vc10\bind\__TKNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win32\__VCVER__\libd\__TKNAM__.lib</ImportLibrary>
<ImportLibrary>..\..\..\win32\vc10\libd\__TKNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -163,7 +161,7 @@
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>x64</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win64\__VCVER__\bin\__TKNAM__.tlb</TypeLibraryName>
<TypeLibraryName>.\..\..\..\win64\vc10\bin\__TKNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
@@ -178,13 +176,13 @@
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<AssemblerListingLocation>.\..\..\..\win64\__VCVER__\obj\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\__VCVER__\obj\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\__VCVER__\obj\__TKNAM__/</ProgramDataBaseFileName>
<AssemblerListingLocation>.\..\..\..\win64\vc10\obj\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\vc10\obj\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\vc10\obj\__TKNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL64__
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -192,12 +190,12 @@
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\..\..\..\win64\__VCVER__\bin\__TKNAM__.dll</OutputFile>
<OutputFile>.\..\..\..\win64\vc10\bin\__TKNAM__.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win64\__VCVER__\bin\__TKNAM__.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\..\..\win64\vc10\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win64\vc10\bin\__TKNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win64\__VCVER__\lib\__TKNAM__.lib</ImportLibrary>
<ImportLibrary>..\..\..\win64\vc10\lib\__TKNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -206,7 +204,7 @@
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>x64</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win64\__VCVER__\bind\__TKNAM__.tlb</TypeLibraryName>
<TypeLibraryName>.\..\..\..\win64\vc10\bind\__TKNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
@@ -219,16 +217,16 @@
<PreprocessorDefinitions>DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AssemblerListingLocation>.\..\..\..\win64\__VCVER__\objd\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\__VCVER__\objd\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\__VCVER__\objd\__TKNAM__/</ProgramDataBaseFileName>
<AssemblerListingLocation>.\..\..\..\win64\vc10\objd\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\vc10\objd\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\vc10\objd\__TKNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL64__
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -236,13 +234,13 @@
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\..\..\..\win64\__VCVER__\bind\__TKNAM__.dll</OutputFile>
<OutputFile>.\..\..\..\win64\vc10\bind\__TKNAM__.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>..\..\..\win64\vc10\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\..\win64\__VCVER__\bind\__TKNAM__.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>..\..\..\win64\vc10\bind\__TKNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win64\__VCVER__\libd\__TKNAM__.lib</ImportLibrary>
<ImportLibrary>..\..\..\win64\vc10\libd\__TKNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemGroup>

View File

@@ -24,19 +24,15 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>__CONF__</ConfigurationType>
<PlatformToolset>__VCVEREXT__</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>__CONF__</ConfigurationType>
<PlatformToolset>__VCVEREXT__</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>__CONF__</ConfigurationType>
<PlatformToolset>__VCVEREXT__</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>__CONF__</ConfigurationType>
<PlatformToolset>__VCVEREXT__</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@@ -56,17 +52,17 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\__VCVER__\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\__VCVER__\obj\__XQTNAM__\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\vc10\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\vc10\obj\__XQTNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\__VCVER__\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\__VCVER__\objd\__XQTNAM__\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\vc10\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\vc10\objd\__XQTNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\__VCVER__\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\__VCVER__\obj\__XQTNAM__\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\vc10\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\vc10\obj\__XQTNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\__VCVER__\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\__VCVER__\objd\__XQTNAM__\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\vc10\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\vc10\objd\__XQTNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -75,7 +71,7 @@
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win32\__VCVER__\bin\__XQTNAM__.tlb</TypeLibraryName>
<TypeLibraryName>.\..\..\..\win32\vc10\bin\__XQTNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
@@ -90,13 +86,14 @@
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<AssemblerListingLocation>.\..\..\..\win32\__VCVER__\obj\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\__VCVER__\obj\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\__VCVER__\obj\__XQTNAM__/</ProgramDataBaseFileName>
<AssemblerListingLocation>.\..\..\..\win32\vc10\obj\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\vc10\obj\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\vc10\obj\__XQTNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL32__
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -105,10 +102,10 @@
<Link>
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win32\__VCVER__\bin\__XQTNAM__.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\..\..\win32\vc10\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win32\vc10\bin\__XQTNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win32\__VCVER__\lib\__XQTNAM__.lib</ImportLibrary>
<ImportLibrary>..\..\..\win32\vc10\lib\__XQTNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -117,7 +114,7 @@
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win32\__VCVER__\bind\__XQTNAM__.tlb</TypeLibraryName>
<TypeLibraryName>.\..\..\..\win32\vc10\bind\__XQTNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
@@ -130,16 +127,17 @@
<PreprocessorDefinitions>DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AssemblerListingLocation>.\..\..\..\win32\__VCVER__\objd\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\__VCVER__\objd\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\__VCVER__\objd\__XQTNAM__/</ProgramDataBaseFileName>
<AssemblerListingLocation>.\..\..\..\win32\vc10\objd\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\vc10\objd\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\vc10\objd\__XQTNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL32__
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -148,11 +146,11 @@
<Link>
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win32\__VCVER__\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>..\..\..\win32\vc10\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\..\win32\__VCVER__\bind\__XQTNAM__.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>..\..\..\win32\vc10\bind\__XQTNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win32\__VCVER__\libd\__XQTNAM__.lib</ImportLibrary>
<ImportLibrary>..\..\..\win32\vc10\libd\__XQTNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@@ -161,7 +159,7 @@
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>x64</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win64\__VCVER__\bin\__XQTNAM__.tlb</TypeLibraryName>
<TypeLibraryName>.\..\..\..\win64\vc10\bin\__XQTNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
@@ -176,13 +174,13 @@
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<AssemblerListingLocation>.\..\..\..\win64\__VCVER__\obj\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\__VCVER__\obj\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\__VCVER__\obj\__XQTNAM__/</ProgramDataBaseFileName>
<AssemblerListingLocation>.\..\..\..\win64\vc10\obj\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\vc10\obj\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\vc10\obj\__XQTNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL64__
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -191,10 +189,10 @@
<Link>
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win64\__VCVER__\bin\__XQTNAM__.pdb</ProgramDatabaseFile>
<AdditionalLibraryDirectories>..\..\..\win64\vc10\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win64\vc10\bin\__XQTNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win64\__VCVER__\lib\__XQTNAM__.lib</ImportLibrary>
<ImportLibrary>..\..\..\win64\vc10\lib\__XQTNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -203,7 +201,7 @@
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>x64</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win64\__VCVER__\bind\__XQTNAM__.tlb</TypeLibraryName>
<TypeLibraryName>.\..\..\..\win64\vc10\bind\__XQTNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
@@ -216,16 +214,16 @@
<PreprocessorDefinitions>DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AssemblerListingLocation>.\..\..\..\win64\__VCVER__\objd\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\__VCVER__\objd\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\__VCVER__\objd\__XQTNAM__/</ProgramDataBaseFileName>
<AssemblerListingLocation>.\..\..\..\win64\vc10\objd\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\vc10\objd\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\vc10\objd\__XQTNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<FloatingPointModel>Precise</FloatingPointModel>__VCMPL64__
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -234,11 +232,11 @@
<Link>
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win64\__VCVER__\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalLibraryDirectories>..\..\..\win64\vc10\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\..\win64\__VCVER__\bind\__XQTNAM__.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>..\..\..\win64\vc10\bind\__XQTNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win64\__VCVER__\libd\__XQTNAM__.lib</ImportLibrary>
<ImportLibrary>..\..\..\win64\vc10\libd\__XQTNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemGroup>

257
adm/templates/template.vc11 Normal file
View File

@@ -0,0 +1,257 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>__PROJECT_GUID__</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\vc11\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\vc11\obj\__TKNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\vc11\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\vc11\objd\__TKNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\vc11\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\vc11\obj\__TKNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\vc11\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\vc11\objd\__TKNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win32\vc11\bin\__TKNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<AssemblerListingLocation>.\..\..\..\win32\vc11\obj\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\vc11\obj\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\vc11\obj\__TKNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\..\..\..\win32\vc11\bin\__TKNAM__.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win32\vc11\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win32\vc11\bin\__TKNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win32\vc11\lib\__TKNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win32\vc11\bind\__TKNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AssemblerListingLocation>.\..\..\..\win32\vc11\objd\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\vc11\objd\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\vc11\objd\__TKNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\..\..\..\win32\vc11\bind\__TKNAM__.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win32\vc11\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\..\win32\vc11\bind\__TKNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win32\vc11\libd\__TKNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>x64</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win64\vc11\bin\__TKNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>NDEBUG;WIN64;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<AssemblerListingLocation>.\..\..\..\win64\vc11\obj\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\vc11\obj\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\vc11\obj\__TKNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN64;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\..\..\..\win64\vc11\bin\__TKNAM__.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win64\vc11\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win64\vc11\bin\__TKNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win64\vc11\lib\__TKNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>x64</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win64\vc11\bind\__TKNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AssemblerListingLocation>.\..\..\..\win64\vc11\objd\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\vc11\objd\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\vc11\objd\__TKNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\..\..\..\win64\vc11\bind\__TKNAM__.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win64\vc11\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\..\win64\vc11\bind\__TKNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win64\vc11\libd\__TKNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
__FILES__
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="__TKNAM__.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,245 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>__PROJECT_GUID__</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>__CONF__</ConfigurationType>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>__CONF__</ConfigurationType>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>__CONF__</ConfigurationType>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>__CONF__</ConfigurationType>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\vc11\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\vc11\obj\__XQTNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\vc11\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\vc11\objd\__XQTNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\vc11\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\vc11\obj\__XQTNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\vc11\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\vc11\objd\__XQTNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win32\vc11\bin\__XQTNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<AssemblerListingLocation>.\..\..\..\win32\vc11\obj\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\vc11\obj\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\vc11\obj\__XQTNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win32\vc11\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win32\vc11\bin\__XQTNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win32\vc11\lib\__XQTNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win32\vc11\bind\__XQTNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AssemblerListingLocation>.\..\..\..\win32\vc11\objd\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\vc11\objd\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\vc11\objd\__XQTNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win32\vc11\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\..\win32\vc11\bind\__XQTNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win32\vc11\libd\__XQTNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>x64</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win64\vc11\bin\__XQTNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>NDEBUG;WIN64;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<AssemblerListingLocation>.\..\..\..\win64\vc11\obj\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\vc11\obj\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\vc11\obj\__XQTNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN64;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win64\vc11\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win64\vc11\bin\__XQTNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win64\vc11\lib\__XQTNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>x64</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win64\vc11\bind\__XQTNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AssemblerListingLocation>.\..\..\..\win64\vc11\objd\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\vc11\objd\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\vc11\objd\__XQTNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win64\vc11\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\..\win64\vc11\bind\__XQTNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win64\vc11\libd\__XQTNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
__FILES__ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

257
adm/templates/template.vc12 Normal file
View File

@@ -0,0 +1,257 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>__PROJECT_GUID__</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\vc12\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\vc12\obj\__TKNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\vc12\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\vc12\objd\__TKNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\vc12\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\vc12\obj\__TKNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\vc12\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\vc12\objd\__TKNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win32\vc12\bin\__TKNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<AssemblerListingLocation>.\..\..\..\win32\vc12\obj\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\vc12\obj\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\vc12\obj\__TKNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\..\..\..\win32\vc12\bin\__TKNAM__.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win32\vc12\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win32\vc12\bin\__TKNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win32\vc12\lib\__TKNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win32\vc12\bind\__TKNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AssemblerListingLocation>.\..\..\..\win32\vc12\objd\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\vc12\objd\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\vc12\objd\__TKNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\..\..\..\win32\vc12\bind\__TKNAM__.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win32\vc12\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\..\win32\vc12\bind\__TKNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win32\vc12\libd\__TKNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>x64</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win64\vc12\bin\__TKNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>NDEBUG;WIN64;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<AssemblerListingLocation>.\..\..\..\win64\vc12\obj\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\vc12\obj\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\vc12\obj\__TKNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN64;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\..\..\..\win64\vc12\bin\__TKNAM__.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win64\vc12\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win64\vc12\bin\__TKNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win64\vc12\lib\__TKNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>x64</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win64\vc12\bind\__TKNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AssemblerListingLocation>.\..\..\..\win64\vc12\objd\__TKNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\vc12\objd\__TKNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\vc12\objd\__TKNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<FloatingPointModel>Precise</FloatingPointModel>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;ws2_32.lib;vfw32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>.\..\..\..\win64\vc12\bind\__TKNAM__.dll</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win64\vc12\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\..\win64\vc12\bind\__TKNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win64\vc12\libd\__TKNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
__FILES__
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="__TKNAM__.rc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,245 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>__PROJECT_GUID__</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>__CONF__</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>__CONF__</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>__CONF__</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>__CONF__</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\vc12\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\..\..\..\win32\vc12\obj\__XQTNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\vc12\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\..\..\..\win32\vc12\objd\__XQTNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\vc12\bin\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">.\..\..\..\win64\vc12\obj\__XQTNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\vc12\bind\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">.\..\..\..\win64\vc12\objd\__XQTNAM__\</IntDir>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win32\vc12\bin\__XQTNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<AssemblerListingLocation>.\..\..\..\win32\vc12\obj\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\vc12\obj\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\vc12\obj\__XQTNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win32\vc12\lib;$(CSF_OPT_LIB32);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win32\vc12\bin\__XQTNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win32\vc12\lib\__XQTNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>Win32</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win32\vc12\bind\__XQTNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AssemblerListingLocation>.\..\..\..\win32\vc12\objd\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win32\vc12\objd\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win32\vc12\objd\__XQTNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>DEB;_DEBUG;WIN32;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win32\vc12\libd;$(CSF_OPT_LIB32D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\..\win32\vc12\bind\__XQTNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win32\vc12\libd\__XQTNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>x64</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win64\vc12\bin\__XQTNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>NDEBUG;WIN64;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<AssemblerListingLocation>.\..\..\..\win64\vc12\obj\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\vc12\obj\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\vc12\obj\__XQTNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN64;_WINDOWS;WNT;No_Exception;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win64\vc12\lib;$(CSF_OPT_LIB64);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ProgramDatabaseFile>.\..\..\..\win64\vc12\bin\__XQTNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win64\vc12\lib\__XQTNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MkTypLibCompatible>true</MkTypLibCompatible>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetEnvironment>x64</TargetEnvironment>
<TypeLibraryName>.\..\..\..\win64\vc12\bind\__XQTNAM__.tlb</TypeLibraryName>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ClCompile>
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>__TKINC__;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<PreprocessorDefinitions>DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<AssemblerListingLocation>.\..\..\..\win64\vc12\objd\__XQTNAM__/</AssemblerListingLocation>
<ObjectFileName>.\..\..\..\win64\vc12\objd\__XQTNAM__/</ObjectFileName>
<ProgramDataBaseFileName>.\..\..\..\win64\vc12\objd\__XQTNAM__/</ProgramDataBaseFileName>
<WarningLevel>Level4</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
</ClCompile>
<ResourceCompile>
<AdditionalIncludeDirectories>..\..\..\inc;$(CSF_OPT_INC);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>DEB;_DEBUG;WIN64;_WINDOWS;WNT;CSFDB;$(CSF_DEFINES)__TKDEFS__;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Link>
<AdditionalDependencies>__TKDEP__;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>..\..\..\win64\vc12\libd;$(CSF_OPT_LIB64D);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>..\..\..\win64\vc12\bind\__XQTNAM__.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>..\..\..\win64\vc12\libd\__XQTNAM__.lib</ImportLibrary>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
__FILES__ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerEnvironment>PATH=..\..\..\win32\__VCVER__\bind;$(CSF_OPT_BIN32D);$(PATH)</LocalDebuggerEnvironment>
<LocalDebuggerEnvironment>PATH=..\..\..\win32\vc10\bind;$(CSF_OPT_BIN32D);$(PATH)</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerEnvironment>PATH=..\..\..\win32\__VCVER__\bin;$(CSF_OPT_BIN32);$(PATH)</LocalDebuggerEnvironment>
<LocalDebuggerEnvironment>PATH=..\..\..\win32\vc10\bin;$(CSF_OPT_BIN32);$(PATH)</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LocalDebuggerEnvironment>PATH=..\..\..\win64\__VCVER__\bin;$(CSF_OPT_BIN64);$(PATH)</LocalDebuggerEnvironment>
<LocalDebuggerEnvironment>PATH=..\..\..\win64\vc10\bin;$(CSF_OPT_BIN64);$(PATH)</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LocalDebuggerEnvironment>PATH=..\..\..\win64\__VCVER__\bind;$(CSF_OPT_BIN64D);$(PATH)</LocalDebuggerEnvironment>
<LocalDebuggerEnvironment>PATH=..\..\..\win64\vc10\bind;$(CSF_OPT_BIN64D);$(PATH)</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerEnvironment>PATH=..\..\..\win32\vc11\bind;$(CSF_OPT_BIN32D);$(PATH)</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerEnvironment>PATH=..\..\..\win32\vc11\bin;$(CSF_OPT_BIN32);$(PATH)</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LocalDebuggerEnvironment>PATH=..\..\..\win64\vc11\bin;$(CSF_OPT_BIN64);$(PATH)</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LocalDebuggerEnvironment>PATH=..\..\..\win64\vc11\bind;$(CSF_OPT_BIN64D);$(PATH)</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LocalDebuggerEnvironment>PATH=..\..\..\win32\vc12\bind;$(CSF_OPT_BIN32D);$(PATH)</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LocalDebuggerEnvironment>PATH=..\..\..\win32\vc12\bin;$(CSF_OPT_BIN32);$(PATH)</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LocalDebuggerEnvironment>PATH=..\..\..\win64\vc12\bin;$(CSF_OPT_BIN64);$(PATH)</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LocalDebuggerEnvironment>PATH=..\..\..\win64\vc12\bind;$(CSF_OPT_BIN64D);$(PATH)</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
</Project>

View File

@@ -1,924 +0,0 @@
[rename]
BRepExtrema_OverlappedSubShapes BRepExtrema_MapOfIntegerPackedMapOfInteger
[tcollection]
AdvApp2Var_SequenceOfNode
AdvApp2Var_SequenceOfPatch
AdvApp2Var_SequenceOfStrip
AdvApp2Var_Strip
AIS_DataMapOfILC
AIS_DataMapofIntegerListOfinteractive
AIS_DataMapOfIOStatus
AIS_DataMapOfSelStat
AIS_IndexedDataMapOfOwnerPrs
AIS_ListOfInteractive
AIS_MapOfInteractive
AIS_SequenceOfDimension
AIS_SequenceOfInteractive
AppDef_Array1OfMultiPointConstraint
AppDef_HArray1OfMultiPointConstraint
AppParCurves_Array1OfConstraintCouple
AppParCurves_Array1OfMultiBSpCurve
AppParCurves_Array1OfMultiCurve
AppParCurves_Array1OfMultiPoint
AppParCurves_HArray1OfConstraintCouple
AppParCurves_HArray1OfMultiBSpCurve
AppParCurves_HArray1OfMultiCurve
AppParCurves_HArray1OfMultiPoint
AppParCurves_SequenceOfMultiBSpCurve
AppParCurves_SequenceOfMultiCurve
Approx_Array1OfAdHSurface
Approx_Array1OfGTrsf2d
Approx_HArray1OfAdHSurface
Approx_HArray1OfGTrsf2d
Approx_SequenceOfHArray1OfReal
Aspect_SequenceOfColor
BinMDF_TypeADriverMap
BinMDF_TypeIdMap
BiTgte_DataMapOfShapeBox
Blend_SequenceOfPoint
Bnd_Array1OfBox
Bnd_Array1OfBox2d
Bnd_Array1OfSphere
Bnd_HArray1OfBox
Bnd_HArray1OfBox2d
Bnd_HArray1OfSphere
Bnd_SeqOfBox
BRep_ListOfCurveRepresentation
BRep_ListOfPointRepresentation
BRepAdaptor_Array1OfCurve
BRepAdaptor_HArray1OfCurve
BRepAlgo_DataMapOfShapeBoolean
BRepAlgo_DataMapOfShapeInterference
BRepAlgo_SequenceOfSequenceOfInteger
BRepBlend_SequenceOfLine
BRepBlend_SequenceOfPointOnRst
BRepCheck_DataMapOfShapeListOfStatus
BRepCheck_DataMapOfShapeResult
BRepCheck_ListOfStatus
BRepClass3d_MapOfInter
BRepFill_DataMapOfNodeDataMapOfShapeShape
BRepFill_DataMapOfNodeShape
BRepFill_DataMapOfOrientedShapeListOfShape
BRepFill_DataMapOfShapeDataMapOfShapeListOfShape
BRepFill_DataMapOfShapeHArray2OfShape
BRepFill_DataMapOfShapeSequenceOfPnt
BRepFill_DataMapOfShapeSequenceOfReal
BRepFill_IndexedDataMapOfOrientedShapeListOfShape
BRepFill_ListOfOffsetWire
BRepFill_SequenceOfEdgeFaceAndOrder
BRepFill_SequenceOfFaceAndOrder
BRepFill_SequenceOfSection
BRepMAT2d_DataMapOfBasicEltShape
BRepMAT2d_DataMapOfShapeSequenceOfBasicElt
BRepOffset_DataMapOfShapeListOfInterval
BRepOffset_DataMapOfShapeMapOfShape
BRepOffset_DataMapOfShapeOffset
BRepOffset_ListOfInterval
BRepOffsetAPI_SequenceOfSequenceOfReal
BRepOffsetAPI_SequenceOfSequenceOfShape
BRepTools_MapOfVertexPnt2d
BRepTopAdaptor_MapOfShapeTool
CDM_DocumentHasher
CDM_ListOfDocument
CDM_ListOfReferences
CDM_MapOfDocument
CDM_MetaDataLookUpTable
CDM_PresentationDirectory
ChFiDS_HData
ChFiDS_IndexedDataMapOfVertexListOfStripe
ChFiDS_ListOfHElSpine
ChFiDS_ListOfStripe
ChFiDS_Regularities
ChFiDS_SecArray1
ChFiDS_SecHArray1
ChFiDS_SequenceOfSpine
ChFiDS_SequenceOfSurfData
ChFiDS_StripeArray1
ChFiKPart_RstMap
Contap_TheHSequenceOfPoint
Contap_TheSequenceOfLine
Contap_TheSequenceOfPoint
Convert_SequenceOfArray1OfPoles
DBRep_ListOfEdge
DBRep_ListOfFace
DBRep_ListOfHideData
DDF_TransactionStack
DNaming_DataMapOfShapeOfName
Draft_DataMapOfEdgeEdgeInfo
Draft_DataMapOfFaceFaceInfo
Draft_DataMapOfVertexVertexInfo
Draw_MapOfAsciiString
Draw_SequenceOfDrawable3D
Expr_Array1OfGeneralExpression
Expr_Array1OfNamedUnknown
Expr_Array1OfSingleRelation
Expr_MapOfNamedUnknown
Expr_SequenceOfGeneralExpression
Expr_SequenceOfGeneralRelation
ExprIntrp_SequenceOfNamedExpression
ExprIntrp_SequenceOfNamedFunction
ExprIntrp_StackOfGeneralExpression
ExprIntrp_StackOfGeneralFunction
ExprIntrp_StackOfGeneralRelation
Extrema_Array1OfPOnCurv
Extrema_Array1OfPOnCurv2d
Extrema_Array1OfPOnSurf
Extrema_Array2OfPOnCurv
Extrema_Array2OfPOnCurv2d
Extrema_Array2OfPOnSurf
Extrema_Array2OfPOnSurfParams
Extrema_HArray1OfPOnCurv
Extrema_HArray1OfPOnCurv2d
Extrema_HArray1OfPOnSurf
Extrema_HArray2OfPOnCurv
Extrema_HArray2OfPOnCurv2d
Extrema_HArray2OfPOnSurf
Extrema_HArray2OfPOnSurfParams
Extrema_SequenceOfPOnCurv
Extrema_SequenceOfPOnCurv2d
Extrema_SequenceOfPOnSurf
FEmTool_AssemblyTable
FEmTool_HAssemblyTable
FEmTool_ListOfVectors
FEmTool_SeqOfLinConstr
GccEnt_Array1OfPosition
Geom2dHatch_Hatchings
Geom2dHatch_MapOfElements
Geom_HSequenceOfBSplineSurface
Geom_SequenceOfBSplineSurface
GeomFill_Array1OfLocationLaw
GeomFill_Array1OfSectionLaw
GeomFill_HArray1OfLocationLaw
GeomFill_HArray1OfSectionLaw
GeomFill_HSequenceOfAx2
GeomFill_SequenceOfAx2
GeomFill_SequenceOfTrsf
GeomInt_SequenceOfParameterAndOrientation
GeomLib_Array1OfMat
GeomPlate_Array1OfHCurveOnSurface
GeomPlate_Array1OfSequenceOfReal
GeomPlate_HArray1OfHCurveOnSurface
GeomPlate_HArray1OfSequenceOfReal
GeomPlate_HSequenceOfCurveConstraint
GeomPlate_HSequenceOfPointConstraint
GeomPlate_SequenceOfAij
GeomPlate_SequenceOfCurveConstraint
GeomPlate_SequenceOfPointConstraint
Graphic3d_Array1OfVector
Graphic3d_Array1OfVertex
Graphic3d_Array2OfVertex
Graphic3d_HSequenceOfStructure
Graphic3d_ListOfShortReal
Graphic3d_SequenceOfStructure
Hatch_SequenceOfLine
Hatch_SequenceOfParameter
HatchGen_Domains
HatchGen_PointsOnElement
HatchGen_PointsOnHatching
HLRAlgo_Array1OfPHDat
HLRAlgo_Array1OfPINod
HLRAlgo_Array1OfPISeg
HLRAlgo_Array1OfTData
HLRAlgo_HArray1OfPHDat
HLRAlgo_HArray1OfPINod
HLRAlgo_HArray1OfPISeg
HLRAlgo_HArray1OfTData
HLRAlgo_InterferenceList
HLRAlgo_ListOfBPoint
HLRBRep_Array1OfEData
HLRBRep_Array1OfFData
HLRBRep_ListOfBPnt2D
HLRBRep_ListOfBPoint
HLRBRep_SeqOfShapeBounds
HLRTopoBRep_DataMapOfShapeFaceData
HLRTopoBRep_ListOfVData
HLRTopoBRep_MapOfShapeListOfVData
IFSelect_HSeqOfSelection
IFSelect_SequenceOfAppliedModifiers
IFSelect_SequenceOfGeneralModifier
IFSelect_SequenceOfInterfaceModel
IFSelect_TSeqOfDispatch
IFSelect_TSeqOfSelection
IGESAppli_Array1OfFiniteElement
IGESAppli_Array1OfFlow
IGESAppli_Array1OfNode
IGESAppli_HArray1OfFiniteElement
IGESAppli_HArray1OfFlow
IGESAppli_HArray1OfNode
IGESBasic_Array1OfLineFontEntity
IGESBasic_Array2OfHArray1OfReal
IGESBasic_HArray1OfLineFontEntity
IGESBasic_HArray2OfHArray1OfReal
IGESData_Array1OfDirPart
IGESData_Array1OfIGESEntity
IGESData_HArray1OfIGESEntity
IGESDefs_Array1OfTabularData
IGESDefs_HArray1OfTabularData
IGESDimen_Array1OfGeneralNote
IGESDimen_Array1OfLeaderArrow
IGESDimen_HArray1OfGeneralNote
IGESDimen_HArray1OfLeaderArrow
IGESDraw_Array1OfConnectPoint
IGESDraw_Array1OfViewKindEntity
IGESDraw_HArray1OfConnectPoint
IGESDraw_HArray1OfViewKindEntity
IGESGeom_Array1OfBoundary
IGESGeom_Array1OfCurveOnSurface
IGESGeom_Array1OfTransformationMatrix
IGESGeom_HArray1OfBoundary
IGESGeom_HArray1OfCurveOnSurface
IGESGeom_HArray1OfTransformationMatrix
IGESGraph_Array1OfColor
IGESGraph_Array1OfTextDisplayTemplate
IGESGraph_Array1OfTextFontDef
IGESGraph_HArray1OfColor
IGESGraph_HArray1OfTextDisplayTemplate
IGESGraph_HArray1OfTextFontDef
IGESSolid_Array1OfFace
IGESSolid_Array1OfLoop
IGESSolid_Array1OfShell
IGESSolid_Array1OfVertexList
IGESSolid_HArray1OfFace
IGESSolid_HArray1OfLoop
IGESSolid_HArray1OfShell
IGESSolid_HArray1OfVertexList
IntAna_ListOfCurve
IntCurveSurface_SequenceOfPnt
IntCurveSurface_SequenceOfSeg
Interface_Array1OfFileParameter
Interface_Array1OfHAsciiString
Interface_DataMapOfTransientInteger
Interface_HArray1OfHAsciiString
Interface_HSequenceOfCheck
Interface_IndexedMapOfAsciiString
Interface_SequenceOfCheck
Intf_Array1OfLin
Intf_SeqOfSectionLine
Intf_SeqOfSectionPoint
Intf_SeqOfTangentZone
IntPatch_SequenceOfLine
IntPatch_SequenceOfPoint
IntPolyh_SeqOfStartPoints
IntRes2d_SequenceOfIntersectionPoint
IntRes2d_SequenceOfIntersectionSegment
Intrv_SequenceOfInterval
IntSurf_ListOfPntOn2S
IntSurf_SequenceOfCouple
IntSurf_SequenceOfInteriorPoint
IntSurf_SequenceOfPathPoint
IntTools_Array1OfRange
IntTools_Array1OfRoots
IntTools_DataMapOfCurveSampleBox
IntTools_DataMapOfSurfaceSampleBox
IntTools_IndexedDataMapOfTransientAddress
IntTools_ListOfBox
IntTools_ListOfCurveRangeSample
IntTools_ListOfSurfaceRangeSample
IntTools_MapOfCurveSample
IntTools_MapOfSurfaceSample
IntTools_SequenceOfCommonPrts
IntTools_SequenceOfCurves
IntTools_SequenceOfPntOn2Faces
IntTools_SequenceOfRanges
IntTools_SequenceOfRoots
Law_Laws
LocOpe_DataMapOfShapePnt
LocOpe_SequenceOfCirc
LocOpe_SequenceOfLin
LocOpe_SequenceOfPntFace
LProp_SequenceOfCIType
MAT2d_Array2OfConnexion
MAT2d_DataMapOfBiIntInteger
MAT2d_DataMapOfBiIntSequenceOfInteger
MAT2d_DataMapOfIntegerBisec
MAT2d_DataMapOfIntegerConnexion
MAT2d_DataMapOfIntegerPnt2d
MAT2d_DataMapOfIntegerSequenceOfConnexion
MAT2d_DataMapOfIntegerVec2d
MAT2d_SequenceOfConnexion
MAT2d_SequenceOfSequenceOfCurve
MAT2d_SequenceOfSequenceOfGeometry
MAT_DataMapOfIntegerArc
MAT_DataMapOfIntegerBasicElt
MAT_DataMapOfIntegerBisector
MAT_DataMapOfIntegerNode
MAT_SequenceOfArc
MAT_SequenceOfBasicElt
math_Array1OfValueAndWeight
MDF_ARDriverHSequence
MDF_ARDriverSequence
MDF_ASDriverHSequence
MDF_ASDriverSequence
MDF_TypeARDriverMap
MDF_TypeASDriverMap
MeshVS_Array1OfSequenceOfInteger
MeshVS_DataMapOfColorMapOfInteger
MeshVS_DataMapOfHArray1OfSequenceOfInteger
MeshVS_DataMapOfIntegerAsciiString
MeshVS_DataMapOfIntegerBoolean
MeshVS_DataMapOfIntegerColor
MeshVS_DataMapOfIntegerMaterial
MeshVS_DataMapOfIntegerMeshEntityOwner
MeshVS_DataMapOfIntegerOwner
MeshVS_DataMapOfIntegerTwoColors
MeshVS_DataMapOfIntegerVector
MeshVS_DataMapOfTwoColorsMapOfInteger
MeshVS_HArray1OfSequenceOfInteger
MeshVS_MapOfTwoNodes
MeshVS_SequenceOfPrsBuilder
MeshVS_TwoColorsHasher
MeshVS_TwoNodesHasher
Message_ListOfMsg
Message_SequenceOfPrinters
Message_SequenceOfProgressScale
MoniTool_DataMapOfShapeTransient
MoniTool_DataMapOfTimer
MoniTool_HSequenceOfElement
MoniTool_IndexedDataMapOfShapeTransient
MoniTool_SequenceOfElement
NLPlate_SequenceOfHGPPConstraint
NLPlate_StackOfPlate
PCDM_SequenceOfDocument
PCDM_SequenceOfReference
Plate_Array1OfPinpointConstraint
Plate_HArray1OfPinpointConstraint
Plate_SequenceOfLinearScalarConstraint
Plate_SequenceOfLinearXYZConstraint
Plate_SequenceOfPinpointConstraint
Plugin_MapOfFunctions
Poly_Array1OfTriangle
Poly_HArray1OfTriangle
ProjLib_HSequenceOfHSequenceOfPnt
ProjLib_SequenceOfHSequenceOfPnt
PrsMgr_Presentations
PTColStd_DoubleMapOfTransientPersistent
PTColStd_MapPersistentHasher
PTColStd_PersistentTransientMap
PTColStd_TransientPersistentMap
QANCollection_DataMapOfRealPnt
QANCollection_DoubleMapOfRealInteger
QANCollection_IndexedDataMapOfRealPnt
QANCollection_ListOfPnt
Quantity_Array1OfCoefficient
Quantity_Array1OfColor
Quantity_Array2OfColor
Quantity_HArray1OfColor
Resource_DataMapOfAsciiStringAsciiString
Resource_DataMapOfAsciiStringExtendedString
SelectMgr_DataMapOfObjectSelectors
SelectMgr_IndexedDataMapOfOwnerCriterion
SelectMgr_IndexedMapOfOwner
SelectMgr_ListOfFilter
SelectMgr_SequenceOfFilter
SelectMgr_SequenceOfOwner
SelectMgr_SequenceOfSelector
ShapeAnalysis_DataMapOfShapeListOfReal
ShapeAnalysis_HSequenceOfFreeBounds
ShapeAnalysis_SequenceOfFreeBounds
ShapeExtend_DataMapOfShapeListOfMsg
ShapeExtend_DataMapOfTransientListOfMsg
ShapeFix_DataMapOfShapeBox2d
ShapeFix_SequenceOfWireSegment
StdSelect_IndexedDataMapOfOwnerPrs
StepAP203_Array1OfApprovedItem
StepAP203_Array1OfCertifiedItem
StepAP203_Array1OfChangeRequestItem
StepAP203_Array1OfClassifiedItem
StepAP203_Array1OfContractedItem
StepAP203_Array1OfDateTimeItem
StepAP203_Array1OfPersonOrganizationItem
StepAP203_Array1OfSpecifiedItem
StepAP203_Array1OfStartRequestItem
StepAP203_Array1OfWorkItem
StepAP203_HArray1OfApprovedItem
StepAP203_HArray1OfCertifiedItem
StepAP203_HArray1OfChangeRequestItem
StepAP203_HArray1OfClassifiedItem
StepAP203_HArray1OfContractedItem
StepAP203_HArray1OfDateTimeItem
StepAP203_HArray1OfPersonOrganizationItem
StepAP203_HArray1OfSpecifiedItem
StepAP203_HArray1OfStartRequestItem
StepAP203_HArray1OfWorkItem
StepAP214_Array1OfApprovalItem
StepAP214_Array1OfAutoDesignDateAndPersonItem
StepAP214_Array1OfAutoDesignDateAndTimeItem
StepAP214_Array1OfAutoDesignDatedItem
StepAP214_Array1OfAutoDesignGeneralOrgItem
StepAP214_Array1OfAutoDesignGroupedItem
StepAP214_Array1OfAutoDesignPresentedItemSelect
StepAP214_Array1OfAutoDesignReferencingItem
StepAP214_Array1OfDateAndTimeItem
StepAP214_Array1OfDateItem
StepAP214_Array1OfDocumentReferenceItem
StepAP214_Array1OfExternalIdentificationItem
StepAP214_Array1OfGroupItem
StepAP214_Array1OfOrganizationItem
StepAP214_Array1OfPersonAndOrganizationItem
StepAP214_Array1OfPresentedItemSelect
StepAP214_Array1OfSecurityClassificationItem
StepAP214_HArray1OfApprovalItem
StepAP214_HArray1OfAutoDesignDateAndPersonItem
StepAP214_HArray1OfAutoDesignDateAndTimeItem
StepAP214_HArray1OfAutoDesignDatedItem
StepAP214_HArray1OfAutoDesignGeneralOrgItem
StepAP214_HArray1OfAutoDesignGroupedItem
StepAP214_HArray1OfAutoDesignPresentedItemSelect
StepAP214_HArray1OfAutoDesignReferencingItem
StepAP214_HArray1OfDateAndTimeItem
StepAP214_HArray1OfDateItem
StepAP214_HArray1OfDocumentReferenceItem
StepAP214_HArray1OfExternalIdentificationItem
StepAP214_HArray1OfGroupItem
StepAP214_HArray1OfOrganizationItem
StepAP214_HArray1OfPersonAndOrganizationItem
StepAP214_HArray1OfPresentedItemSelect
StepAP214_HArray1OfSecurityClassificationItem
StepBasic_Array1OfApproval
StepBasic_Array1OfDerivedUnitElement
StepBasic_Array1OfDocument
StepBasic_Array1OfNamedUnit
StepBasic_Array1OfOrganization
StepBasic_Array1OfPerson
StepBasic_Array1OfProduct
StepBasic_Array1OfProductContext
StepBasic_Array1OfProductDefinition
StepBasic_Array1OfUncertaintyMeasureWithUnit
StepBasic_HArray1OfApproval
StepBasic_HArray1OfDerivedUnitElement
StepBasic_HArray1OfDocument
StepBasic_HArray1OfNamedUnit
StepBasic_HArray1OfOrganization
StepBasic_HArray1OfPerson
StepBasic_HArray1OfProduct
StepBasic_HArray1OfProductContext
StepBasic_HArray1OfProductDefinition
StepBasic_HArray1OfUncertaintyMeasureWithUnit
STEPCAFControl_DataMapOfLabelExternFile
STEPCAFControl_DataMapOfLabelShape
STEPCAFControl_DataMapOfPDExternFile
STEPCAFControl_DataMapOfSDRExternFile
STEPCAFControl_DataMapOfShapePD
STEPCAFControl_DataMapOfShapeSDR
STEPConstruct_DataMapOfAsciiStringTransient
STEPConstruct_DataMapOfPointTransient
StepData_Array1OfField
StepData_HArray1OfField
StepDimTol_Array1OfDatumReference
StepDimTol_HArray1OfDatumReference
StepElement_Array1OfCurveElementEndReleasePacket
StepElement_Array1OfCurveElementSectionDefinition
StepElement_Array1OfHSequenceOfCurveElementPurposeMember
StepElement_Array1OfHSequenceOfSurfaceElementPurposeMember
StepElement_Array1OfMeasureOrUnspecifiedValue
StepElement_Array1OfSurfaceSection
StepElement_Array1OfVolumeElementPurpose
StepElement_Array1OfVolumeElementPurposeMember
StepElement_Array2OfCurveElementPurposeMember
StepElement_Array2OfSurfaceElementPurpose
StepElement_Array2OfSurfaceElementPurposeMember
StepElement_HArray1OfCurveElementEndReleasePacket
StepElement_HArray1OfCurveElementSectionDefinition
StepElement_HArray1OfHSequenceOfCurveElementPurposeMember
StepElement_HArray1OfHSequenceOfSurfaceElementPurposeMember
StepElement_HArray1OfMeasureOrUnspecifiedValue
StepElement_HArray1OfSurfaceSection
StepElement_HArray1OfVolumeElementPurpose
StepElement_HArray1OfVolumeElementPurposeMember
StepElement_HArray2OfCurveElementPurposeMember
StepElement_HArray2OfSurfaceElementPurpose
StepElement_HArray2OfSurfaceElementPurposeMember
StepElement_HSequenceOfCurveElementPurposeMember
StepElement_HSequenceOfCurveElementSectionDefinition
StepElement_HSequenceOfElementMaterial
StepElement_HSequenceOfSurfaceElementPurposeMember
StepElement_SequenceOfCurveElementPurposeMember
StepElement_SequenceOfCurveElementSectionDefinition
StepElement_SequenceOfElementMaterial
StepElement_SequenceOfSurfaceElementPurposeMember
StepFEA_Array1OfCurveElementEndOffset
StepFEA_Array1OfCurveElementEndRelease
StepFEA_Array1OfCurveElementInterval
StepFEA_Array1OfDegreeOfFreedom
StepFEA_Array1OfElementRepresentation
StepFEA_Array1OfNodeRepresentation
StepFEA_HArray1OfCurveElementEndOffset
StepFEA_HArray1OfCurveElementEndRelease
StepFEA_HArray1OfCurveElementInterval
StepFEA_HArray1OfDegreeOfFreedom
StepFEA_HArray1OfElementRepresentation
StepFEA_HArray1OfNodeRepresentation
StepFEA_HSequenceOfCurve3dElementProperty
StepFEA_HSequenceOfElementGeometricRelationship
StepFEA_HSequenceOfElementRepresentation
StepFEA_HSequenceOfNodeRepresentation
StepFEA_SequenceOfCurve3dElementProperty
StepFEA_SequenceOfElementGeometricRelationship
StepFEA_SequenceOfElementRepresentation
StepFEA_SequenceOfNodeRepresentation
StepGeom_Array1OfBoundaryCurve
StepGeom_Array1OfCartesianPoint
StepGeom_Array1OfCompositeCurveSegment
StepGeom_Array1OfCurve
StepGeom_Array1OfPcurveOrSurface
StepGeom_Array1OfSurfaceBoundary
StepGeom_Array1OfTrimmingSelect
StepGeom_Array2OfCartesianPoint
StepGeom_Array2OfSurfacePatch
StepGeom_HArray1OfBoundaryCurve
StepGeom_HArray1OfCartesianPoint
StepGeom_HArray1OfCompositeCurveSegment
StepGeom_HArray1OfCurve
StepGeom_HArray1OfPcurveOrSurface
StepGeom_HArray1OfSurfaceBoundary
StepGeom_HArray1OfTrimmingSelect
StepGeom_HArray2OfCartesianPoint
StepGeom_HArray2OfSurfacePatch
StepRepr_Array1OfMaterialPropertyRepresentation
StepRepr_Array1OfPropertyDefinitionRepresentation
StepRepr_Array1OfRepresentationItem
StepRepr_HArray1OfMaterialPropertyRepresentation
StepRepr_HArray1OfPropertyDefinitionRepresentation
StepRepr_HArray1OfRepresentationItem
StepRepr_HSequenceOfMaterialPropertyRepresentation
StepRepr_HSequenceOfRepresentationItem
StepRepr_SequenceOfMaterialPropertyRepresentation
StepRepr_SequenceOfRepresentationItem
STEPSelections_HSequenceOfAssemblyLink
STEPSelections_SequenceOfAssemblyComponent
STEPSelections_SequenceOfAssemblyLink
StepShape_Array1OfConnectedEdgeSet
StepShape_Array1OfConnectedFaceSet
StepShape_Array1OfEdge
StepShape_Array1OfFace
StepShape_Array1OfFaceBound
StepShape_Array1OfGeometricSetSelect
StepShape_Array1OfOrientedClosedShell
StepShape_Array1OfOrientedEdge
StepShape_Array1OfShell
StepShape_Array1OfValueQualifier
StepShape_HArray1OfConnectedEdgeSet
StepShape_HArray1OfConnectedFaceSet
StepShape_HArray1OfEdge
StepShape_HArray1OfFace
StepShape_HArray1OfFaceBound
StepShape_HArray1OfGeometricSetSelect
StepShape_HArray1OfOrientedClosedShell
StepShape_HArray1OfOrientedEdge
StepShape_HArray1OfShell
StepShape_HArray1OfValueQualifier
StepToTopoDS_DataMapOfRI
StepToTopoDS_DataMapOfRINames
StepToTopoDS_DataMapOfTRI
StepToTopoDS_PointEdgeMap
StepToTopoDS_PointVertexMap
StepVisual_Array1OfBoxCharacteristicSelect
StepVisual_Array1OfCurveStyleFontPattern
StepVisual_Array1OfDirectionCountSelect
StepVisual_Array1OfFillStyleSelect
StepVisual_Array1OfInvisibleItem
StepVisual_Array1OfLayeredItem
StepVisual_Array1OfPresentationStyleAssignment
StepVisual_Array1OfPresentationStyleSelect
StepVisual_Array1OfStyleContextSelect
StepVisual_Array1OfSurfaceStyleElementSelect
StepVisual_Array1OfTextOrCharacter
StepVisual_HArray1OfBoxCharacteristicSelect
StepVisual_HArray1OfCurveStyleFontPattern
StepVisual_HArray1OfDirectionCountSelect
StepVisual_HArray1OfFillStyleSelect
StepVisual_HArray1OfInvisibleItem
StepVisual_HArray1OfLayeredItem
StepVisual_HArray1OfPresentationStyleAssignment
StepVisual_HArray1OfPresentationStyleSelect
StepVisual_HArray1OfStyleContextSelect
StepVisual_HArray1OfSurfaceStyleElementSelect
StepVisual_HArray1OfTextOrCharacter
StlMesh_SequenceOfMesh
StlMesh_SequenceOfMeshDomain
StlMesh_SequenceOfMeshTriangle
Storage_ArrayOfCallBack
Storage_ArrayOfSchema
Storage_HArrayOfCallBack
Storage_HArrayOfSchema
Storage_HPArray
Storage_HSeqOfRoot
Storage_MapOfCallBack
Storage_MapOfPers
Storage_PArray
Storage_PType
Storage_SeqOfRoot
TColGeom2d_Array1OfBezierCurve
TColGeom2d_Array1OfBSplineCurve
TColGeom2d_Array1OfCurve
TColGeom2d_HArray1OfBezierCurve
TColGeom2d_HArray1OfBSplineCurve
TColGeom2d_HArray1OfCurve
TColGeom2d_HSequenceOfBoundedCurve
TColGeom2d_HSequenceOfCurve
TColGeom2d_SequenceOfBoundedCurve
TColGeom2d_SequenceOfCurve
TColGeom2d_SequenceOfGeometry
TColGeom_Array1OfBezierCurve
TColGeom_Array1OfBSplineCurve
TColGeom_Array1OfCurve
TColGeom_Array1OfSurface
TColGeom_Array2OfBezierSurface
TColGeom_Array2OfSurface
TColGeom_HArray1OfBezierCurve
TColGeom_HArray1OfBSplineCurve
TColGeom_HArray1OfCurve
TColGeom_HArray1OfSurface
TColGeom_HArray2OfSurface
TColGeom_HSequenceOfBoundedCurve
TColGeom_HSequenceOfCurve
TColGeom_SequenceOfBoundedCurve
TColGeom_SequenceOfCurve
TColGeom_SequenceOfSurface
TColgp_Array1OfCirc2d
TColgp_Array1OfDir
TColgp_Array1OfDir2d
TColgp_Array1OfLin2d
TColgp_Array1OfPnt
TColgp_Array1OfPnt2d
TColgp_Array1OfVec
TColgp_Array1OfVec2d
TColgp_Array1OfXY
TColgp_Array1OfXYZ
TColgp_Array2OfCirc2d
TColgp_Array2OfDir
TColgp_Array2OfDir2d
TColgp_Array2OfLin2d
TColgp_Array2OfPnt
TColgp_Array2OfPnt2d
TColgp_Array2OfVec
TColgp_Array2OfVec2d
TColgp_Array2OfXY
TColgp_Array2OfXYZ
TColgp_HArray1OfCirc2d
TColgp_HArray1OfDir
TColgp_HArray1OfDir2d
TColgp_HArray1OfLin2d
TColgp_HArray1OfPnt
TColgp_HArray1OfPnt2d
TColgp_HArray1OfVec
TColgp_HArray1OfVec2d
TColgp_HArray1OfXY
TColgp_HArray1OfXYZ
TColgp_HArray2OfCirc2d
TColgp_HArray2OfDir
TColgp_HArray2OfDir2d
TColgp_HArray2OfLin2d
TColgp_HArray2OfPnt
TColgp_HArray2OfPnt2d
TColgp_HArray2OfVec
TColgp_HArray2OfVec2d
TColgp_HArray2OfXY
TColgp_HArray2OfXYZ
TColgp_HSequenceOfDir
TColgp_HSequenceOfDir2d
TColgp_HSequenceOfPnt
TColgp_HSequenceOfPnt2d
TColgp_HSequenceOfVec
TColgp_HSequenceOfVec2d
TColgp_HSequenceOfXY
TColgp_HSequenceOfXYZ
TColgp_SequenceOfArray1OfPnt2d
TColgp_SequenceOfAx1
TColgp_SequenceOfDir
TColgp_SequenceOfDir2d
TColgp_SequenceOfPnt
TColgp_SequenceOfPnt2d
TColgp_SequenceOfVec
TColgp_SequenceOfVec2d
TColgp_SequenceOfXY
TColgp_SequenceOfXYZ
TColQuantity_Array1OfLength
TColQuantity_Array2OfLength
TColQuantity_HArray1OfLength
TColQuantity_HArray2OfLength
TColStd_Array1OfAsciiString
TColStd_Array1OfBoolean
TColStd_Array1OfByte
TColStd_Array1OfCharacter
TColStd_Array1OfExtendedString
TColStd_Array1OfInteger
TColStd_Array1OfListOfInteger
TColStd_Array1OfReal
TColStd_Array1OfTransient
TColStd_Array2OfBoolean
TColStd_Array2OfCharacter
TColStd_Array2OfInteger
TColStd_Array2OfReal
TColStd_Array2OfTransient
TColStd_DataMapOfAsciiStringInteger
TColStd_DataMapOfIntegerInteger
TColStd_DataMapOfIntegerListOfInteger
TColStd_DataMapOfIntegerReal
TColStd_DataMapOfIntegerTransient
TColStd_DataMapOfStringInteger
TColStd_DataMapOfTransientTransient
TColStd_HArray1OfAsciiString
TColStd_HArray1OfBoolean
TColStd_HArray1OfByte
TColStd_HArray1OfCharacter
TColStd_HArray1OfExtendedString
TColStd_HArray1OfInteger
TColStd_HArray1OfListOfInteger
TColStd_HArray1OfReal
TColStd_HArray1OfTransient
TColStd_HArray2OfBoolean
TColStd_HArray2OfCharacter
TColStd_HArray2OfInteger
TColStd_HArray2OfReal
TColStd_HArray2OfTransient
TColStd_HSequenceOfAsciiString
TColStd_HSequenceOfExtendedString
TColStd_HSequenceOfHAsciiString
TColStd_HSequenceOfHExtendedString
TColStd_HSequenceOfInteger
TColStd_HSequenceOfReal
TColStd_HSequenceOfTransient
TColStd_IndexedDataMapOfTransientTransient
TColStd_IndexedMapOfInteger
TColStd_IndexedMapOfReal
TColStd_IndexedMapOfTransient
TColStd_ListOfAsciiString
TColStd_ListOfInteger
TColStd_ListOfReal
TColStd_ListOfTransient
TColStd_MapIntegerHasher
TColStd_MapOfAsciiString
TColStd_MapOfInteger
TColStd_MapOfReal
TColStd_MapOfTransient
TColStd_MapRealHasher
TColStd_MapTransientHasher
TColStd_SequenceOfAddress
TColStd_SequenceOfAsciiString
TColStd_SequenceOfBoolean
TColStd_SequenceOfExtendedString
TColStd_SequenceOfHAsciiString
TColStd_SequenceOfHExtendedString
TColStd_SequenceOfInteger
TColStd_SequenceOfReal
TColStd_SequenceOfTransient
TDataStd_DataMapOfStringByte
TDataStd_DataMapOfStringHArray1OfInteger
TDataStd_DataMapOfStringHArray1OfReal
TDataStd_DataMapOfStringReal
TDataStd_DataMapOfStringString
TDataStd_HLabelArray1
TDataStd_LabelArray1
TDataStd_ListOfByte
TDataStd_ListOfExtendedString
TDataXtd_Array1OfTrsf
TDataXtd_HArray1OfTrsf
TDF_AttributeArray1
TDF_AttributeDataMap
TDF_AttributeDeltaList
TDF_AttributeDoubleMap
TDF_AttributeIndexedMap
TDF_AttributeList
TDF_AttributeMap
TDF_AttributeSequence
TDF_DeltaList
TDF_GUIDProgIDMap
TDF_HAttributeArray1
TDF_IDList
TDF_IDMap
TDF_LabelDataMap
TDF_LabelDoubleMap
TDF_LabelIndexedMap
TDF_LabelIntegerMap
TDF_LabelList
TDF_LabelMap
TDF_LabelSequence
TDocStd_LabelIDMapDataMap
TDocStd_SequenceOfApplicationDelta
TDocStd_SequenceOfDocument
TestTopOpeDraw_Array1OfDrawableMesure
TestTopOpeDraw_Array1OfDrawableP3D
TestTopOpeDraw_HArray1OfDrawableMesure
TestTopOpeDraw_HArray1OfDrawableP3D
TestTopOpeDraw_ListOfPnt2d
TestTopOpeTools_Array1OfMesure
TestTopOpeTools_HArray1OfMesure
TFunction_Array1OfDataMapOfGUIDDriver
TFunction_DataMapOfGUIDDriver
TFunction_DataMapOfLabelListOfLabel
TFunction_DoubleMapOfIntegerLabel
TFunction_HArray1OfDataMapOfGUIDDriver
TNaming_DataMapOfShapePtrRefShape
TNaming_DataMapOfShapeShapesSet
TNaming_ListOfIndexedDataMapOfShapeListOfShape
TNaming_ListOfMapOfShape
TNaming_ListOfNamedShape
TNaming_MapOfNamedShape
TNaming_NamedShapeHasher
TopBas_ListOfTestInterference
TopLoc_IndexedMapOfLocation
TopLoc_MapLocationHasher
TopLoc_MapOfLocation
TopoDS_ListOfShape
TopOpeBRep_Array1OfLineInter
TopOpeBRep_Array1OfVPointInter
TopOpeBRep_DataMapOfTopolTool
TopOpeBRep_HArray1OfLineInter
TopOpeBRep_HArray1OfVPointInter
TopOpeBRep_ListOfBipoint
TopOpeBRep_SequenceOfPoint2d
TopOpeBRepBuild_DataMapOfShapeListOfShapeListOfShape
TopOpeBRepBuild_IndexedDataMapOfShapeVertexInfo
TopOpeBRepBuild_ListOfListOfLoop
TopOpeBRepBuild_ListOfLoop
TopOpeBRepBuild_ListOfPave
TopOpeBRepBuild_ListOfShapeListOfShape
TopOpeBRepDS_Array1OfDataMapOfIntegerListOfInterference
TopOpeBRepDS_DataMapOfCheckStatus
TopOpeBRepDS_DataMapOfIntegerListOfInterference
TopOpeBRepDS_DataMapOfInterferenceListOfInterference
TopOpeBRepDS_DataMapOfInterferenceShape
TopOpeBRepDS_DataMapOfShapeListOfShapeOn1State
TopOpeBRepDS_DataMapOfShapeState
TopOpeBRepDS_DoubleMapOfIntegerShape
TopOpeBRepDS_HArray1OfDataMapOfIntegerListOfInterference
TopOpeBRepDS_IndexedDataMapOfShapeWithState
TopOpeBRepDS_IndexedDataMapOfVertexPoint
TopOpeBRepDS_ListOfInterference
TopOpeBRepDS_MapOfCurve
TopOpeBRepDS_MapOfIntegerShapeData
TopOpeBRepDS_MapOfPoint
TopOpeBRepDS_MapOfShapeData
TopOpeBRepDS_MapOfSurface
TopOpeBRepDS_ShapeSurface
TopOpeBRepTool_DataMapOfOrientedShapeC2DF
TopOpeBRepTool_DataMapOfShapeface
TopOpeBRepTool_DataMapOfShapeListOfC2DF
TopOpeBRepTool_IndexedDataMapOfShapeBox
TopOpeBRepTool_IndexedDataMapOfShapeBox2d
TopOpeBRepTool_IndexedDataMapOfShapeconnexity
TopOpeBRepTool_IndexedDataMapOfSolidClassifier
TopOpeBRepTool_ListOfC2DF
TopTools_Array1OfListOfShape
TopTools_Array1OfShape
TopTools_Array2OfShape
TopTools_DataMapOfIntegerListOfShape
TopTools_DataMapOfIntegerShape
TopTools_DataMapOfOrientedShapeInteger
TopTools_DataMapOfOrientedShapeShape
TopTools_DataMapOfShapeInteger
TopTools_DataMapOfShapeListOfInteger
TopTools_DataMapOfShapeListOfShape
TopTools_DataMapOfShapeReal
TopTools_DataMapOfShapeSequenceOfShape
TopTools_DataMapOfShapeShape
TopTools_HArray1OfListOfShape
TopTools_HArray1OfShape
TopTools_HArray2OfShape
TopTools_HSequenceOfShape
TopTools_IndexedDataMapOfShapeAddress
TopTools_IndexedDataMapOfShapeListOfShape
TopTools_IndexedDataMapOfShapeShape
TopTools_IndexedMapOfOrientedShape
TopTools_IndexedMapOfShape
TopTools_ListOfShape
TopTools_MapOfOrientedShape
TopTools_MapOfShape
TopTools_SequenceOfShape
TopTrans_Array2OfOrientation
TPrsStd_DataMapOfGUIDDriver
Transfer_HSequenceOfBinder
Transfer_HSequenceOfFinder
Transfer_SequenceOfBinder
Transfer_SequenceOfFinder
TransferBRep_HSequenceOfTransferResultInfo
TransferBRep_SequenceOfTransferResultInfo
TShort_Array1OfShortReal
TShort_Array2OfShortReal
TShort_HArray1OfShortReal
TShort_HArray2OfShortReal
TShort_HSequenceOfShortReal
TShort_SequenceOfShortReal
Units_QtsSequence
Units_QuantitiesSequence
Units_TksSequence
Units_TokensSequence
Units_UnitsSequence
Units_UtsSequence
ViewerTest_DoubleMapOfInteractiveAndName
Visual3d_HSequenceOfLight
Visual3d_HSequenceOfView
Visual3d_SequenceOfLight
Visual3d_SequenceOfView
XCAFDoc_DataMapOfShapeLabel
XCAFDoc_GraphNodeSequence
XCAFPrs_DataMapOfShapeStyle
XCAFPrs_DataMapOfStyleShape
XCAFPrs_DataMapOfStyleTransient
XmlLDrivers_SequenceOfNamespaceDef
XmlMDF_MapOfDriver
XmlMDF_TypeADriverMap
XSDRAWSTLVRML_CoordsMap
XSDRAWSTLVRML_ElemNodesMap

File diff suppressed because it is too large Load Diff

View File

@@ -45,7 +45,8 @@ dev_guides/contribution_workflow/contribution_workflow.md
dev_guides/git_guide/git_guide.md
dev_guides/tests/tests.md
dev_guides/debug/debug.md
dev_guides/upgrade/upgrade.md
dev_guides/cdl/cdl.md
dev_guides/wok/wok.md
dev_guides/building/building.md
dev_guides/building/3rdparty/3rdparty_windows.md
@@ -59,4 +60,6 @@ dev_guides/building/code_blocks.md
dev_guides/building/msvc.md
dev_guides/building/xcode.md
dev_guides/upgrade/upgrade.md
license.md

View File

@@ -28,6 +28,7 @@ dev_guides/documentation/documentation.md
dev_guides/contribution/coding_rules.md
dev_guides/git_guide/git_guide.md
dev_guides/tests/tests.md
dev_guides/upgrade/upgrade.md
dev_guides/wok/wok.md
dev_guides/cdl/cdl.md
tutorial/tutorial.md

View File

@@ -13,8 +13,15 @@ you need to:
- \subpage occt_dev_guides__building_3rdparty_linux
- \subpage occt_dev_guides__building_3rdparty_osx
2. If you use bare OCCT sources from Git repository or made some changes affecting
CDL files or dependencies of OCCT toolkits, you need to update header files generated
from \ref occt_dev_guides__cdl "CDL", and regenerate build scripts for your environment using WOK.
See \subpage occt_dev_guides__building_wok for details.
2. Build using your preferred build tool.
Skip to step 3 if you use complete source package (e.g. official OCCT
release) without changes in CDL.
3. Build using your preferred build tool.
- \subpage occt_dev_guides__building_automake "Building on Linux with Autotools"
- \subpage occt_dev_guides__building_cmake "Building with CMake (cross-platform)"
- \subpage occt_dev_guides__building_android "Building with CMake and ADT for Android (cross-platform)"

View File

@@ -3,138 +3,121 @@ Building with CMake {#occt_dev_guides__building_cmake}
@tableofcontents
This article describes **CMake**-based build process which is now suggested as a standard way to produce the binaries of Open CASCADE Technology from sources. *OCCT requires CMake version 3.0 or later*.
This file describes the steps to build OCCT libraries from a complete source package
with **CMake**. CMake is free software that can create GNU Makefiles, KDevelop,
XCode, Eclipse and Visual Studio project files. **CMake** version 3.0 or above is
required.
**Note**: Comparing to the previous (6.x) releases of Open CASCADE Technology, OCCT 7.0 comes with a complete set of CMake scripts and projects, so that there is no need to use WOK anymore. Moreover, CMake gives you a powerful configuration tool which allows to control many aspects of OCCT deployment. At the same time this tool is quite intuitive which is a significant advantage over the legacy WOK utilities.
If you build OCCT from bare sources (as in Git repository) or make some
changes affecting CDL files, you need to use WOK to re-generate header files
and build scripts / projects. See \ref occt_dev_guides__building_wok for instructions.
**Note**: We discuss the build procedure on example of Windows platform. However, the workflow is almost the same for *nix and Mac operating systems.
Before building OCCT, you need to install the required third-party libraries; see the
instructions for your platform in @ref occt_dev_guides__building.
All the examples in the article will be based on Windows x64 platform and Visual Studio 2010 solution will be the target IDE. The solution will be generated by CMake from the OCCT sources, the one will be built by an user and ready-to-go OCCT binaries will be deployed into a user specified directory by building *INSTALL* project.
## Define the location of build and install directories.
You can get all the required 3-rd party products visiting [the official download page](http://www.opencascade.org/getocc/download/loadocc); see @ref occt_dev_guides__building for more detailed information also.
The build directory is where intermediate files (projects / makefiles, objects, binaries) will be created.
## Get sources
The install directory is where binaries will be installed after build, along with header files and resources required for OCCT use in applications.
It is possible to install several configurations of OCCT (differentiated by platform, bitness, compiler, and build type) into the same directory.
The sources of OCCT can be obtained from [the official development web-site](http://dev.opencascade.org) by either downloading the universal source package (available at [the official download page](http://www.opencascade.org/getocc/download/loadocc)) or by cloning the Git repository:
It is recommended to separate build and install directories from OCCT source directory, for example:
git clone ssh://gitolite@git.dev.opencascade.org/occt occt
/user/home/occt/ - sources
/user/home/tmp/occt-build-vc10-x64 - intermediate files
/user/home/occt-install - installed binaries
As a result, you obtain the following directory structure in your filesystem (d:\ name is used for example):
d:\occt\adm
\data
\dox
\samples
\src
\tests
...
## CMake usage
The bare sources distribution contains not only the sources of Open CASCADE Technology, but also documentation, samples and non-regression test scripts.
Run CMake indicating the path to OCCT sources <i>($CASROOT)</i> and selected build directory.
## The usage of CMake
It is recommended to use GUI tools provided by CMake: *cmake-gui* on Windows, Mac and Linux (*ccmake* also can be used on Linux).
Now it is time to run a CMake tool which will generate the actual project files for the target IDE (e.g., Visual Studio 2010 solution).
### Windows:
It is recommended to use *cmake-gui* - cross-platform GUI tool provided by CMake on Windows, Mac and Linux. As a command-line alternative, *ccmake* also can be used.
CMake deals with three directories: source, build or binary and install.
* The source directory is where the sources of OCCT are located in your filesystem
* The build or binary directory is where all the files created during CMake configuration and generation process will be located. The mentioned process will be described below.
* The installation directory is where binaries will be installed after build the *INSTALL* project that is created by CMake generation process, along with header files and resources required for OCCT use in applications.
**Note**: It is possible to choose one installation directory for several configurations of OCCT (differentiated by platform, bitness, compiler and build type).
**Note**: The good practice is not to mix up different build configurations in a single directory and not to use the source directory as a build one, for example:
d:/occt/ - the source directory
d:/tmp/occt-build-vc10-x64 - the build directory with the generated
solution and other intermediate files created during a CMake tool working
d:/occt-install - the installation directory that is
able to contain several OCCT configuratoion
## Configuration process
If the command-line tool is used, run the tool from the build directory with a single argument indicating the source (relative or absolute path) directory:
cd d:/tmp/occt-build-vc10-x64
ccmake d:/occt
@figure{/dev_guides/building/cmake/images/cmake_image000.png}
Press *c* to configure.
All required actions in the configuration process will be described with using the GUI tool below.
If the gui-tool is used, run the tool without additional arguments and after that specify the source directory by clicking **Browse Source** and the build (binary) one by clicking **Browse Build**.
Specify the root folder of OCCT (<i>$CASROOT</i>, which contains *CMakelists.txt* file) by clicking **Browse Source**.
@figure{/dev_guides/building/cmake/images/cmake_image001.png}
**Note**: Each configuration of the project should be built in its own directory. When building multiple configurations it is recommended to indicate in the name of build directories the system, bitness and compiler (e.g., <i>d:/occt/build/win32-vc10</i> ).
Specify the location (build folder) for Cmake generated project files by clicking **Browse Build**.
Once the source and build directories are selected, "Configure" button should be pressed in order to start manual configuration process. It begins with selection of a target configurator. It is "Visual Studio 10 2010 Win64" in our example.
Each configuration of the project should be built in its own directory. When building multiple configurations it is recommended to indicate in the name of build directories the system, bitness, compiler, and build type (e.g., <i>d:/occt/build/win32-vc9</i> ).
**Configure** opens the window with a drop-down list of generators supported by CMake project. Select the required generator (e.g., Visual Studio 2008) and click **Finish**.
@figure{/dev_guides/building/cmake/images/cmake_image002.png}
Once "Finish" button is pressed, the first pass the configuration process is executed. At the end of the process, CMake outputs the list of environment variables which have to be properly specified for successful configuration.
### Linux (ccmake variant):
In the console, change to the build directory and call *ccmake* with the path to the source directory of the project:
> cd ~/occt/build
> ccmake ~/occt
@figure{/dev_guides/building/cmake/images/cmake_image003.png}
The error message provides an information about these variables. This message will appear after each pass of the process until all required variables are specified correctly.
Press *c* to configure.
The change of the state of some variables can lead to a new variable appearance. The new variables appeared after the pass of the configuration process is notified with red color by CMake GUI tool.
*cmake-gui* is used in the same way as described above for Windows.
Note: There is "grouped" option which groups variables with a common prefix.
### Mac OS:
The following table enumerates the full list of environment variables used at configuration stage:
Use *cmake-gui* **Applications -> CMake 2.8-10.app** to generate project files for the chosen build environment (e.g., XCode).
| Variable | Type | Purpose |
|----------|------|---------|
| CMAKE_BUILD_TYPE | String | Specifies the build type on single-configuration generators (sush as make). Possible values are Debug, Release and RelWithDebInfo |
| USE_FREEIMAGE | Boolean flag | Indicates whether Freeimage product should be used in OCCT visualization module for support of popular graphics image formats (PNG, BMP etc) |
| USE_GL2PS | Boolean flag | Indicates whether GL2PS product should be used in OCCT visualization module for support of vector image formats (PS, EPS etc) |
| USE_TBB | Boolean flag | Indicates whether TBB 3-rd party is used or not. TBB stands for Threading Building Blocks, the technology of Intel Corp, which comes with different mechanisms and patterns for injecting parallelism into your application. OCCT remains parallel even without TBB product |
| USE_VTK | Boolean flag | Indicates whether VTK 3-rd party is used or not. VTK stands for Visualization ToolKit, the technology of Kitware Inc intended for general-purpose scientific visualization. OCCT comes with a bridge between CAD data representation and VTK by means of its dedicated VIS component (VTK Integration Services). You may skip this 3-rd party unless you are planning to use VTK visualization for OCCT geometry. The official documentation @ref occt_user_guides__vis for the details on VIS |
| 3RDPARTY_DIR | Path | Defines the root directory where all required 3-rd party products will be searched. Once you define this path it is very convenient to click "Configure" button in order to let CMake automatically detect all necessary products|
| 3RDPARTY_FREETYPE_* | Path | Path to Freetype binaries |
| 3RDPARTY_TCL_* 3RDPARTY_TK_* | Path | Path to Tcl/Tk binaries |
| 3RDPARTY_FREEIMAGE* | Path | Path to Freeimage binaries |
| 3RDPARTY_GL2PS_* | Path | Path to GL2PS binaries |
| 3RDPARTY_TBB* | Path | Path to TBB binaries |
| 3RDPARTY_VTK_* | Path | Path to VTK binaries |
| BUILD_MODULE_<MODULE>| Boolean flag | Indicates whether the corresponding OCCT module should be built or not. It should be noted that some toolkits of a module can be built even if this module is not checked (this happens if some other modules depend on these toolkits). The main modules and their descriptions can be found in @ref occt_user_guides |
| BUILD_LIBRARY_TYPE | String | Specifies the type of library to be created. "Shared" libraries are linked dynamically and loaded at runtime. "Static" libraries are archives of object files for use when linking other targets |
| BUILD_ADDITIONAL_TOOLKITS | String | Semicolon-separated individual toolkits to include into build process. If you want to build some particular libraries (toolkits) only, then you may uncheck all modules in the corresponding *BUILD_MODUE_\<MODULE\>* options and provide the list of necessary libraries here. Of course, all dependencies will be resolved automatically |
| REBUILD_PLATFORM_DEPENDENT_CODE | Boolean flag | Enables Flex/Bison lexical analyzers. OCCT source files relating to STEP reader and ExprIntrp functionality are generated automatically with Flex/Bison. Checking this options leads to automatic search of Flex/Bison binaries and regeneration of the mentioned files |
| BUILD_MODULE_OcctMfcSamples | Boolean flag | Indicates whether MFC samples should be built together with OCCT. This option is only relevant to Windows platforms |
| BUILD_DOC_OcctOverview | Boolean flag | Indicates whether OCCT overview documentation project should be created together with OCCT. It is not built together with OCCT. Checking this options leads to automatic search of Doxygen binaries. Building of it will be call Doxygen command to generate the documentation in HTML format |
| APPLY_OCCT_PATH_DIR | Boolean flag | Points to the directory recognized as a "patch" for OCCT. If specified, the files from this directory take precedence over the corresponding native OCCT sources. This way you are able to introduce patches to Open CASCADE Technology not affecting the original source distribution |
| CMAKE_CONFIGURATION_TYPES | String | Semicolon-separated CMake configurations |
| INSTALL_DIR | Path | Points to the installation directory |
| INSTALL_FREETYPE | Boolean flag | Indicates whether Freetype binaries should be installed into the installation directory |
| INSTALL_FREEIMAGE* | Boolean flag | Indicates whether Freeimage binaries should be installed into the installation directory |
| INSTALL_GL2PS | Boolean flag | Indicates whether GL2PS binaries should be installed into the installation directory |
| INSTALL_TBB | Boolean flag | Indicates whether TBB binaries should be installed into the installation directory |
| INSTALL_VTK | Boolean flag | Indicates whether VTK binaries should be installed into the installation directory |
| INSTALL_TCL | Boolean flag | Indicates whether TCL binaries should be installed into the installation directory |
| INSTALL_OCCT_TEST_CASES | Boolean flag | Indicates whether non-regression OCCT test scripts should be installed into the installation directory |
| INSTALL_OCCT_SAMPLES | Boolean flag | Indicates whether OCCT samples should be installed into the installation directory |
| INSTALL_DOC_OcctOverview | Boolean flag | Indicates whether OCCT overview documentation should be installed into the installation directory |
@figure{/dev_guides/building/cmake/images/cmake_image004.png}
**Note:** In those CMake options defining paths only the forward slashes ("/") are acceptable.
## OCCT Configuration
### 3rd-party search mechanism (The variables with <i>3RDPARTY_</i> prefix)
The error message, which appears at the end of configuration process, informs you about the required variables,
which need to be defined. This error will appear until all required variables are defined correctly.
If *3RDPARTY_DIR* directory is defined, required 3rd-party binaries are sought in it, default system folders are ignored.
Note: In *cmake-gui* there is "grouped" option, which groups variables with a common prefix.
The procedure expects to find binary and header files of each 3rd-party product in its own sub-directory: *bin*, *lib* and *include*.
**Note**: If a single-configuration generator is chosen (such as make), there is the need to specify *CMAKE_BUILD_TYPE* variable
with the value of further build type: Debug, Release or RelWithDebInfo.
The result of the search (achived on the next pass of the configuration process) are recorded in the corresponding variables:
### Selection of the components to be built
The variables with <i>BUILD_</i> prefix allow specifying OCCT components and
configuration to be built:
* *BUILD_LIBRARY_TYPE* - specifies whether static or shared libraries should be built.
* <i>BUILD_<MODULE></i> - specifies whether the corresponding OCCT module should be
built (all toolkits). Note that even if the whole module is not
selected for build, its toolkits used by other toolkits
selected for build will be included automatically.
* *BUILD_TOOLKITS* - allows including additional toolkits from non-selected
modules (should be list of toolkit names separated by a
space or a semicolon).
* *BUILD_MFC_SAMPLES* - specifies whether OCCT MFC samples should be built.
* *BUILD_OCCT_OVERVIEW* - specifies whether OCCT overview documentation should be generated.
* *BUILD_PATCH_DIR* - optionally specifies additional folder containing patched OCCT source files.
The patch may contain arbitrary subset of OCCT source files (including CMake scripts, templates, etc.), organized in the same structure of folders as OCCT.
The projects generated by CMake will use files found in the patch folder instead of the corresponding files of OCCT.
Check variables with <i>USE_</i> prefix (<i>USE_FREEIMAGE, USE_GL2PS, USE_TBB,</i>) if there is the need to enable use of the corresponding optional 3rd-party
library.
### 3rd-party configuration (The variables with <i>3RDPARTY_</i> prefix)
If you have 3rd-party libraries in a non-default location
(e.g., on Windows, binaries downloaded from http://www.opencascade.org/getocc/download/3rdparty/")
*3RDPARTY_DIR* variable should be specified with the path to the folders where required 3rd-party libraries will be sought
The results of search for 3rd-party directories will be stored in *3RDPARTY_\<LIBRARY\>_DIR* variables. If *3RDPARTY_DIR* directory is defined, required libraries are sought in *3RDPARTY_DIR* location.
The procedure expects to find binary and header files of each 3rd-party library in its own sub-directory: *bin*, *lib* and *include*.
Press **Configure** (**c** key for ccmake).
The result of the search are recorded in the corresponding variables:
* *3RDPARTY_\<PRODUCT\>_DIR* - path to the 3rdparty directory (with directory name) (e.g. <i>D:/3rdparty/tcltk-86-32</i>)
* *3RDPARTY_\<PRODUCT\>_LIBRARY_DIR* - path to directory containing a library (e.g. <i>D:/3rdparty/tcltk-86-32/lib</i>).
* *3RDPARTY_\<PRODUCT\>_INCLUDE_DIR* - path to the directory containing a header file (e.g., <i>D:/3rdparty/tcltk-86-32/include</i>)
* *3RDPARTY_\<PRODUCT\>_DLL_DIR* - path to the directory containing a shared library (e.g., <i>D:/3rdparty/tcltk-86-32/bin</i>) This variable is only relevant to Windows platforms
* *3RDPARTY_\<PRODUCT\>_DLL_DIR* - path to the directory containing a shared library (e.g., <i>D:/3rdparty/tcltk-86-32/bin</i>) This variable is able just in windows case
Note: each library and include directory should be the children of product directory if the last one is defined.
@@ -147,68 +130,110 @@ The search process is as follows:
2. *3RDPARTY_\<PRODUCT\>_LIBRARY_DIR*
3. *3RDPARTY_\<PRODUCT\>_DLL_DIR*
If a variable of any level is not defined (empty or <i> \<variable name\>-NOTFOUND </i>) and the upper level variable is defined, the content of the non-defined variable will be sought at the next configuration step. If search process at level 3 does not find the required files, it seeks in default places.
If a variable of any level is not defined (empty or <i> \<variable name\>-NOTFOUND </i>)
and the upper level variable is defined, the content of the non-defined variable
will be sought at the next configuration step. If search process at level 3 does not find the required files, it seeks in default places.
If a search result (include path, or library path, or dll path) does not meet your expectations, you can change *3RDPARTY_\<PRODUCT\>_*_DIR variable*, clear (if they are not empty) *3RDPARTY_\<PRODUCT\>_DLL_DIR, 3RDPARTY_\<PRODUCT\>_INCLUDE_DIR* and 3RDPARTY_\<PRODUCT\>_LIBRARY_DIR variables (or clear one of them) and run the configuration process again.
Important: If *BUILD_CONFIGURATION* variable is changed, at the next configuration
*3RDPARTY_ variables* will be replaced by the search process result, except for the *3RDPARTY_DIR* variable.
**Note** : CMake will produce an error after the configuration step until all required variables are defined correctly.
If the search result (include path, or library path, or dll path) does not meet your expectations,
you can change *3RDPARTY_\<PRODUCT\>_*_DIR variable*, clear (if they are not empty)
*3RDPARTY_\<PRODUCT\>_DLL_DIR, 3RDPARTY_\<PRODUCT\>_INCLUDE_DIR* and 3RDPARTY_\<PRODUCT\>_LIBRARY_DIR variables
(or clear one of them) and run the configuration process again.
At this time the search will be performed in the newly identified directory
and the result will be recorded to corresponding variables (replace old value if it is necessary).
For example, *3RDPARTY_FREETYPE_DIR* variable
For example, (Linux case) *3RDPARTY_FREETYPE_DIR* variable
d:/3rdparty/freetype-2.4.10
/PRODUCTS/maintenance/Mandriva2010/freetype-2.4.10
can be changed to
d:/3rdparty/freetype-2.5.3
/PRODUCTS/maintenance/Mandriva2010/freetype-2.5.3
During the configuration process the related variables (*3RDPARTY_FREETYPE_DLL_DIR*, *3RDPARTY_FREETYPE_INCLUDE_DIR* and *3RDPARTY_FREETYPE_LIBRARY_DIR*) will be filled with new found values
During the configuration process and the related variables (*3RDPARTY_FREETYPE_DLL_DIR*, *3RDPARTY_FREETYPE_INCLUDE_DIR* and *3RDPARTY_FREETYPE_LIBRARY_DIR*) will be filled with new found values
**Note**: The names of searched libraries and header files are hard-coded. If there is the need to change their names, change appropriate cmake variables (edit CMakeCache.txt file or edit in cmake-gui in advance mode) without reconfiguration: *3RDPARTY_\<PRODUCT\>_INCLUDE* for include, *3RDPARTY_\<PRODUCT\>_LIB* for library and *3RDPARTY_\<PRODUCT\>_DLL* for shared library.
**Note**: The names of searched libraries and header files are hard-coded. If there is the need to change their names,
change appropriate cmake variables (edit CMakeCache.txt file or edit in cmake-gui in advance mode) without reconfiguration: *3RDPARTY_\<PRODUCT\>_INCLUDE* for include, *3RDPARTY_\<PRODUCT\>_LIB* for library and *3RDPARTY_\<PRODUCT\>_DLL* for shared library.
### OCCT Generation
###The variables with INSTALL_ prefix:
Once the configuration process is done, "Generate" button is used to prepare project files for the target IDE. In our exercise the Visual Studio solution will be automatically created in the buid directory.
Define *INSTALL_DIR* variable as the path will be contain the built OCCT files (libraries, executables and headers)
If <i>INSTALL_\<PRODUCT\></i> variable is checked, 3rd-party products will be copied to the install directory.
### OCCT Building
Additional INSTALL_ variables:
* INSTALL_SAMPLES - copy all OCCT samples into the install folder
* INSTALL_OCCT_OVERVIEW - copy generated OCCT overview documentation into the install folder
At the end of the configuration process "configuring done" message will be shown and the generation process can be started.
## OCCT Generation
This procedure will create makefiles or project files for your build system.
### Windows
Click **Generate** button and wait until the generation process is finished.
Then the project files will appear in the build folder (e.g. <i> d:/occt/build/win32-vc9-release </i>).
### Linux
Click **Generate** button (if you use cmake-gui) or press **g** (for ccmake) to start the generation process.
### Mac OS X
Click **Generate** button and wait until the generation process is finished.
Then the project files will appear in the build folder (e.g. <i> /Developer/occt/build/XCode </i>).
## OCCT Building
The install folder contains the scripts to run *DRAWEXE* (*draw.bat* or *draw.sh*) and samples (if its were built; (see below **MFC samples**)); the directory structure is follow:
* **data** - data files for OCCT (brep, iges, stp)
* **inc** - header files
* **samples** - tcl sample files
* **src** - all required source files for OCCT
* **tests** - OCCT test suite
* **win32/vc10/bind**> - example relative directory tree of binary files (3rdparty and occt)
* **win32/vc9/lib**> - example relative directory tree of libraries (3rdparty and occt)
### Windows (Visual studio)
Go to the build folder, start the Visual Studio solution *OCCT.sln* and build it by clicking **Build -> Build Solution**.
@figure{/dev_guides/building/cmake/images/cmake_image004.png}
When the building process is finished, build the *INSTALL* project (by default the build solution process skips the building of the INSTALL project) to move the above files to *INSTALL_DIR*.
By default the build solution process skips the building of the INSTALL and Overview project.
For this, right-click on the *INSTALL* project and select **Project Only -> Build Only** -> *INSTALL* in the solution explorer.
When the building process is finished build:
* Overview project to generate OCCT overview documentation (if BUILD_DOC_OcctOverview variable is checked)
* the *INSTALL* project to run **the installation process**
### Linux (make)
For this, right-click on the *Overview/INSTALL* project and select **Project Only -> Build Only** -> *Overview/INSTALL* in the solution explorer.
Change directory to the directory with binaries and run *make* command
## Installation process
> make
Installation is a process of extracting redistributable resources (binaries,include files etc) from the build directory into the installation one. The installation directory will be free of project files, intermediate object files and any other information related to the build routines.
To copy all libraries, executables and chosen 3rd-party libraries run *make* command with *install* argument
Normally you use the installation directory of OCCT to link against your specific application.
> make install
the directory structure is follow:
data - data files for OCCT (brep, iges, stp)
doc - OCCT overview documentation in HTML format
inc - header files
samples - samples
src - all required source files for OCCT
tests - OCCT test suite
win32\vc10\bind - binary files (installed 3rdparties and occt)
\libd - libraries (installed 3rdparties and occt)
This command will move the above files to *INSTALL_DIR*.
**Note:** The above example is given for debug configuration. However, it is generally safe to use the same installation directory for the release build. In the latter case the contents of install directory will be enriched with subdirectories and files related to the release configuration. In particular, the binaries directory win64 will be expanded as
follows:
### Mac OS X (XCode)
\win32\vc10\bind
\libd
\bin
\lib
Go to the build folder, start XCode solution *OCCT.xcodeproj* and build it by clicking **Build -> Build**.
Please notice that XCode may lag because it processes sources at the first start.
If CMake installation flags are enabled for the 3-rd party products (e.g. INSTALL_FREETYPE), then the corresponding binaries will be copied to the same bin(d) and lib(d) directories together with the native binaries of OCCT. Such organization of libraries can be especially helpful if your OCCT-based software does not use itself the 3-rd parties of Open CASCADE Technology (thus, there is no sense to pack them into dedicated directories)
When the building process has finished, build the *INSTALL* project (by default the build solution process skips the building of *INSTALL* project) to move the above files to *INSTALL_DIR*.
Notice that *env.sh* (which configures *PATH* and *DYLD_LIBRARY_PATH* environment variables
as well as Draw Harness extra variables) and *draw.sh* (to launch *DRAWEXE* ) will be created in the target directory.
The installation folder contains the scripts to run *DRAWEXE* (*draw.bat* or *draw.sh*), samples (if its were installed) and overview.html (short-cut for installed OCCT overview documentation).
### MFC samples
On Windows you can also build binaries of MFC samples together with OCCT. For this, activate **BUILD_Samples** check-box in CMake configuration dialog.
@figure{/dev_guides/building/cmake/images/cmake_image007.png}
Please take into account that MFC sample binaries will be installed in the same folder as OCCT binaries during building of *INSTALL* project.
To run an MFC sample use *sample.bat* launcher. The command format is: <i>sample.bat *SampleName*</i> (e.g. <i>sample.bat ImportExport</i>).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

1846
dox/dev_guides/cdl/cdl.md Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

View File

@@ -11,6 +11,12 @@ The following documents provide information on OCCT building, development and te
* @subpage occt_dev_guides__tests "Automatic Testing system"
* @subpage occt_dev_guides__debug "Debugging tools and hints"
These two documents provide details on obsolete technologies used by OCCT,
to be removed in future releases:
* @subpage occt_dev_guides__wok "Workshop Organization Kit (WOK)"
* @subpage occt_dev_guides__cdl "Component Definition Language (CDL)"
The following guide provides information relevant to upgrading applications developed with previous versions of OCCT, to recent one:
* @subpage occt_dev_guides__upgrade "Upgrade from previous OCCT versions"

View File

@@ -1043,17 +1043,18 @@ regexp { *VERTEX +: +MAX=([-0-9.+eE]+)} $tolerance dummy max_vertex
It is possible to use command *checkmaxtol* to check maximal tolerance of shape and compare it with reference value.
Use: checkmaxtol shape [options...]
Use: checkmaxtol shape ref_value [source_shapes={}] [options...]
Allowed options are:
* -ref: reference value of maximum tolerance
* -source: list of shapes to compare with
* -min_tol: minimum tolerance for comparison
* -multi_tol: tolerance multiplier
Argument "source_shapes" is a list of shapes to compare with.
It can be empty to skip comparison of tolerance with these shapes.
The default syntax of *checkmaxtol* command for comparison with the reference value:
~~~~~
checkmaxtol result -ref 0.00001
checkmaxtol result 0.00001
~~~~~
There is an opportunity to compare max tolerance of resulting shape with max tolerance of source shape.
@@ -1062,17 +1063,11 @@ Then it chooses the maximum value between founded tolerance and value -min_tol (
and multiply it on the coefficient -multi_tol (i.e. 2):
~~~~~
checkmaxtol result -source {a_1 a_2} -min_tol 0.000001 -multi_tol 2
checkmaxtol result 0.00001 {a_1 a_2} -min_tol 0.000001 -multi_tol 2
~~~~~
If the value of maximum tolerance more than founded tolerance for comparison, the command will return an error.
Also, command *checkmaxtol* can be used to get max tolerance of the shape:
~~~~~
set maxtol [checkmaxtol result]
~~~~~
@subsubsection testmanual_5_3_3 Shape volume, area, or length
Use command *vprops, sprops,* or *lprops* to correspondingly measure volume, area, or length of the shape produced by the test. The value can be extracted from the result of the command by *regexp*.

View File

@@ -3,35 +3,18 @@ Upgrade from older OCCT versions {#occt_dev_guides__upgrade}
@tableofcontents
@section upgrade_intro Introduction
@section occt_upgrade_intro Introduction
This document provides technical details on changes made in particular versions of OCCT, and is aimed to help upgrading user applications based on previous versions of OCCT to newer ones.
This document provides technical details on upgrading user applications using previous versions of OCCT, to the current one.
@subsection upgrade_intro_precautions Precautions
@subsection occt_upgrade_700 Upgrade to OCCT 7.0.0
Back-up your code before upgrade.
We strongly recommend using version control system during upgrade process, saving one or several commits for each step of upgrade, until overall result is verified.
This will facilitate identification and correction of possible problems that can occur on intermediate steps of upgrade.
Carefully document each step to be able to repeat it if necessary.
@subsection upgrade_intro_disclaim Disclaimer
This document describes known issues that have been encountered in porting of OCCT and some applications, and approaches that helped to resolve these issues in known cases.
It does not pretend to cover all possible migration issues that can appear in your application.
Please take this document with discretion; apply your expertise and knowledge of your application to ensure correct result.
The automatic upgrade tool is provided as-is, without warranty of any kind, and we explicitly disclaim any liability for possible errors that may appear due to use of this tool.
It is your responsibility to ensure that the changes you made in your code are correct.
When upgrading your code by automatic script, make sure to carefully review the changes made by it, on each step, before committing them.
@section upgrade_700 Upgrade to OCCT 7.0.0
@subsection upgrade_700_persist Removal of legacy persistence
@subsubsection occt_upgrade_700_persist Removal of legacy persistence
Legacy persistence for shapes and OCAF data based on Storage_Schema (toolkits TKShapeShcema, TLStdLSchema, TKStdSchema, TKXCAFSchema) has been removed in OCCT 7.0.0.
Applications that used these persistence tools for their data need to be updated to use other persistence mechanisms.
The existing data files in standard formats can be converted using OCCT 6.9.0 or previous version, as follows.
The existing data files in standard formats can be converted using OCCT 6.9.0 or previous, as follows.
#### CSFDB files
@@ -72,365 +55,3 @@ For that, start *DRAWEXE* and perform the following commands:
On Windows, be careful to replace back slashes in the file path by either direct slash or pairs of back slashes.
Use "XmlOcaf" or "XmlXCAF" instead of "BinOcaf" and "BinXCAF", respectively, to save in XML format instead of binary one.
@subsection upgrade_occt700_cdl Removal of CDL and WOK
OCCT code has been completely refactored in version 7.0 to get rid of obsolete technologies used since its inception: CDL (Cas.Cade Definition Language) and WOK (Workshop Organization Kit).
C++ code previously generated by WOK from CDL declarations is now included directly in OCCT sources.
This modification did not change names, API, and behavior of existing OCCT classes, thus in general the code based on OCCT 6.x should compile and work fine with OCCT 7.0.
However, due to redesign of basic mechanisms (CDL generic classes, Handles and RTTI) using C++ templates, some changes may be necessary in the code when porting to OCCT 7.0, as described below.
WOK is not necessary anymore for building OCCT from sources, though it still can be used in traditional way -- auxiliary files required for that are preserved.
The recommended method for building OCCT 7.x is CMake, see @ref occt_dev_guides__building_cmake.
Alternative solution is to use legacy generator of project files (extracted from WOK), see @ref occt_dev_guides__building_wok.
@subsubsection upgrade_occt700_cdl_auto Automatic upgrade
Most of typical changes required for upgrading code to use OCCT 7.0 can be done automatically using the *upgrade* tool included in OCCT 7.0.
This tool is a Tcl script, thus Tcl should be available on your workstation to run it.
Example:
~~~~~
$ tclsh
% source <path_to_occt>/adm/upgrade.tcl
% upgrade -recurse -all -src=<path_to_your_sources>
~~~~~
On Windows, helper batch script upgrade.bat can be used, provided that Tcl is either available in PATH, or configured via custom.bat script (for instance, if you use OCCT installed from Windows installer package). Start it from command prompt:
~~~~~
cmd> <path_to_occt>\upgrade.bat -recurse -all -inc=<path_to_occt>\inc -src=<path_to_your_sources> [options]
~~~~~
Run upgrade tool without arguments to see the list of available options.
Upgrade tool performs the following changes in the code.
1. Adds second argument to macro DEFINE_STANDARD_RTTI indicating base class for its argument class (if inheritance is recognized by the script):
~~~~~
DEFINE_STANDARD_RTTI(Class) -> DEFINE_STANDARD_RTTI(Class, Base)
~~~~~
2. Replaces forward declarations of collection classes previously generated from CDL generics (defined in TCollection package) by \#include of corresponding header:
~~~~~
class TColStd_Array1OfReal; -> #include <TColStd_Array1OfReal.hxx>
~~~~~
3. Replaces underscored names of Handle classes by usage of a macro:
~~~~~
Handle_Class -> Handle(Class)
~~~~~
This change is not applied if source or header file is recognized as containing definition of Qt class with signals or slots, to avoid possible compilation errors of MOC files caused by inability of MOC to recognize macros (see http://doc.qt.io/qt-4.8/signalsandslots.html).
The file is considered as defining Qt object if it contains strings "Q_OBJECT" and either "slots:" or "signals".
4. Removes forward declarations of classes with names Handle(C) or Handle_C, replacing these either by forward declaration of its argument class, or (for files defining Qt objects) \#include statement for header with name of the argument class and extension .hxx:
~~~~~
class Handle(TColStd_HArray1OfReal); -> #include <TColStd_HArray1OfReal.hxx>
~~~~~
5. Removes \#includes of files Handle_...hxx disappeared in OCCT 7.0:
~~~~~
#include <Handle_Geom_Curve.hxx> ->
~~~~~
6. Removes typedef statements that use Handle macro to generate name:
~~~~~
typedef NCollection_Handle<Message_Msg> Handle(Message_Msg); ->
~~~~~
7. Converts C-style casts applied to Handles to calls to DownCast() method:
~~~~~
((Handle(A)&)b) -> Handle(A)::DownCast(b)
(Handle(A)&)b -> Handle(A)::DownCast(b)
(*((Handle(A)*)&b)) -> Handle(A)::DownCast(b)
*((Handle(A)*)&b) -> Handle(A)::DownCast(b)
(*(Handle(A)*)&b) -> Handle(A)::DownCast(b)
~~~~~
8. Moves Handle() macro out of namespace scope:
~~~~~
Namespace::Handle(Class) -> Handle(Namespace::Class)
~~~~~
9. Converts local variables of reference type initialized by temporary object returned by call to DownCast(), to non-references (to avoid using reference to destroyed memory):
~~~~~
const Handle(A)& a = Handle(B)::DownCast (b); -> Handle(A) a (Handle(B)::DownCast (b));
~~~~~
10. Adds \#include for all classes used as argument to macro STANDARD_TYPE(), except of already included ones;
11. Removes uses of obsolete macros IMPLEMENT_DOWNCAST() and IMPLEMENT_STANDARD_*().
> If you plan to keep compatibility of your code with older versions of OCCT, add option "-compat" to avoid the latter change. See also @ref upgrade_occt700_cdl_compat.
As long as the upgrade routine runs, some information messages are sent to the standard output.
In some cases the warnings or errors like the following may appear:
~~~~~
Error in {HEADER_FILE}: Macro DEFINE_STANDARD_RTTI used for class {CLASS_NAME} whose declaration is not found in this file, cannot fix
~~~~~
Be sure to check carefully all reported errors and warnings, as corresponding places likely will require manual corrections.
In some cases these messages may help you to detect errors in your code, for instance, cases where DEFINE_STANDARD_RTTI macro passes invalid class name as an argument.
@subsubsection upgrade_occt700_cdl_compiler Possible compiler errors
Some situations requiring upgrade cannot be detected and / or handled by automatic procedure.
If you get compiler errors or warnings when trying to build upgraded code, you will need to fix them manually.
The following paragraphs list known situations of this kind.
#### Missing header files
Use of handle objects (construction, comparison using operators == or !=, use of function STANDRAD_TYPE() and method DownCast()) now requires the type of the object pointed by Handle to be completely known at compile time. Thus it may be necessary to include header of the corresponding class to make the code compilable.
For example, the following lines will fail to compile if Geom_Line.hxx is not included:
~~~~~
Handle(Geom_Line) aLine = 0;
if (aLine != aCurve) {...}
if (aCurve->IsKind(STANDARD_TYPE(Geom_Line)) {...}
aLine = Handle(Geom_Line)::DownCast (aCurve);
~~~~~
Note that it is not necessary to include header of the class to declare Handle to it.
However, if you define a class *B* that uses Handle(*A*) in its fields, or contains a method returning Handle(*A*), it is advisable to have header defining *A* included in the header of *B*.
This will eliminate the need to include the header *A* in each source file where class *B* is used.
#### Ambiguity of calls to overloaded functions
This issue appears in compilers that do not support default arguments in template functions (known cases are Visual C++ 10 and 11): compiler reports ambiguity error if handle is used in argument of call to function that has two or move overloaded versions, accepting handles to different types.
The problem is that operator const handle<T2>& is defined for any type T2, thus compiler cannot make a right choice.
Example:
~~~~~
void func (const Handle(Geom_Curve)&);
void func (const Handle(Geom_Surface)&);
Handle(Geom_TrimmedCurve) aCurve = new Geom_TrimmedCurve (...);
func (aCurve); // ambiguity error in VC++ 10
~~~~~
To resolve this ambiguity, change your code so that argument type corresponds exactly to the function signature.
In some cases this can be done by using relevant type for the corresponding variable, like in the example above:
~~~~~
Handle(Geom_Curve) aCurve = new Geom_TrimmedCurve (...);
~~~~~
Other variants are assigning the argument to local variable of correct type, using direct cast or constructor:
~~~~~
const Handle(Geom_Curve)& aGCurve (aTrimmedCurve);
func (aGCurve); // OK - argument has exact type
func (static_cast(aCurve)); // OK - direct cast
func (Handle(Geom_Curve)(aCurve)); // OK - temporary handle is constructed
~~~~~
Another possibility is defining additional templated variant of the overloaded function causing ambiguity, and use SFINAE to resolve the ambiguity.
For example of this technique, see definition of the template variant of the method IGESData_IGESWriter::Send().
#### Lack of implicit cast to base type
Due to the fact that now cast of handle to reference to handle to the base type is user-defined operation, conversions that require this cast combined with other user-defined cast will not be resolved automatically by compiler.
For example:
~~~~~
Handle(Geom_Geometry) aC = GC_MakeLine (p, v); // compiler error
~~~~~
The problem here is that class GCE2d_MakeSegment has user-defined conversion to const Handle(Geom_TrimmedCurve)&, which is not the same as type of the local variable aC.
To resolve this, use method Value():
~~~~~
Handle(Geom_Geometry) aC = GC_MakeLine (p, v).Value(); // ok
~~~~~
or use variable of appropriate type:
~~~~~
Handle(Geom_TrimmedCurve) aC = GC_MakeLine (p, v); // ok
~~~~~
#### Incorrect use of STANDARD_TYPE and Handle macros
You might need to clean your code from incorrect use of macros *STANDARD_TYPE*() and *Handle*().
1. Explicit definitions of static functions with names generated by macro STANDARD_TYPE(), which are artifacts of old implementation of RTTI, should be removed.
Example:
~~~~~
const Handle(Standard_Type)& STANDARD_TYPE(math_GlobOptMin)
{
static Handle(Standard_Type) _atype = new Standard_Type ("math_GlobOptMin", sizeof (math_GlobOptMin));
return _atype;
}
~~~~~
2. Incorrect location of closing parenthesis of Handle() macro that was not detectable in OCCT 6.x will cause compiler error and must be corrected.
Example (note misplaced closing parenthesis):
~~~~~
aBSpline = Handle( Geom2d_BSplineCurve::DownCast(BS->Copy()) );
~~~~~
#### Use of class Standard_AncestorIterator
Class Standard_AncestorIterator has been removed; use method Parent() of Standard_Type class to parse inheritance chain.
#### Absence of cast to Standard_Transient*
Handles in OCCT 7.0 do not have operator of conversion to Standard_Transient*, which was present in earlier versions.
This is done to prevent possible unintended errors like this:
~~~~~
Handle(Geom_Line) aLine = ...;
Handle(Geom_Surface) aSurf = ...;
...
if (aLine == aSurf) {...} // will cause compiler error in OCCT 7.0, but not OCCT 6.x
~~~~~
Places where this implicit cast has been used should be corrected manually.
The typical situation is when Handle is passed to stream:
~~~~~
Handle(Geom_Line) aLine = ...;
os << aLine; // in OCCT 6.9.0, resolves to operator << (void*)
~~~~~
Call method get() explicitly to output address of the Handle.
@subsubsection upgrade_occt700_cdl_runtime Possible runtime problems
Known situations when problems are possible at run time after upgrade to OCCT 7.0 are listed here.
#### References to temporary objects
In previous versions, compiler was able to detect situation when local variable of reference type to Handle is initialized by temporary object, and ensured that lifetime of that object is longer than that of the variable.
Since OCCT 7.0, it will not work if types of the temporary object and variable are different (due to involvement of user-defined type cast), thus such temporary object will be destroyed immediately.
Example:
~~~~~
// note that DownCast() returns new temporary object!
const Handle(Geom_BoundedCurve)& aBC =
Handle(Geom_TrimmedCurve)::DownCast(aCurve);
aBC->Transform (T); // access violation in OCCT 7.0
~~~~~
@subsubsection upgrade_occt700_cdl_compat Preserving compatibility with OCCT 6.x
If you like to preserve compatibility of your application code with OCCT versions 6.x even after upgrade to 7.0, consider the following suggestions:
1. When running automatic upgrade tool, add option *-compat*.
2. In order to overcome incompatibility of macro DEFINE_STANDARD_RTTI which has additional argument in OCCT 7.0, you can replace (after upgrade) its use in your code by your own version-dependent macro, which resolves to either 6.x or 7.x version.
Example:
~~~~~
#if OCC_VERSION_HEX < 0x070000
#define DEFINE_STANDARD_RTTI_COMPAT(C1,C2) DEFINE_STANDARD_RTTI(C1)
#else
#define DEFINE_STANDARD_RTTI_COMPAT(C1,C2) DEFINE_STANDARD_RTTI(C1,C2)
#endif
~~~~~
@subsubsection upgrade_occt700_cdl_wok Applications based on CDL and WOK
If you have application essentially based on CDL, and need to upgrade it to OCCT 7.0, you will very likely need to convert your application code to non-CDL form.
This is non-trivial effort; the required actions would depend strongly on the structure of the code and used features of CDL.
The upgrade script and sources of specialized version of WOK used for upgrading OCCT code can be found in WOK Git repository in branch [CR0_700_2](http://git.dev.opencascade.org/gitweb/?p=occt-wok.git;a=log;h=refs/heads/CR0_700_2).
[Contact us](http://www.opencascade.com/contact/) if you need more help.
@subsection upgrade_occt700_bspline Separation of BSpline cache
Implementation of NURBS curves and surfaces has been revised: cache of polynomial coefficients, used to accelerate calculate values of B-spline, is separated from data objects (Geom2d_BSplineCurve, Geom_BSplineCurve, Geom_BSplineSurface), into dedicated classes (BSplCLib_Cache and BSplSLib_Cache).
The benefits of this change are:
* Reduced memory footprint of OCCT shapes (up to 20% on some cases)
* Possibility to evaluate the same B-Spline concurrently in parallel threads without data races and mutex locks
The drawback is that direct evaluation of B-Splines using methods of curves and surfaces becomes slower, due to absence of cache. The way to avoid slow down is to use adaptor classes (Geom2dAdaptor_Curve, GeomAdaptor_Curve and GeomAdaptor_Surface): they now use cache when the curve or surface is a B-spline.
OCCT algorithms are changed to use adaptors for B-spline calculations instead of direct methods of curves and surfaces.
The same changes (use of adaptors instead of direct call to curve and surface methods) should be implemented in relevant places in applications based on OCCT in order to get maximum performance.
@subsection upgrade_occt700_sorttools Removal of SortTools package
Package SortTools has been removed.
The code that used the tools provided by that package should be corrected manually.
The recommended approach is to use sorting algorithms provided by STL.
For instance:
~~~~~
#include <SortTools_StraightInsertionSortOfReal.hxx>
#include <SortTools_ShellSortOfReal.hxx>
#include <TCollection_CompareOfReal.hxx>
...
TCollection_Array1OfReal aValues = ...;
...
TCollection_CompareOfReal aCompReal;
SortTools_StraightInsertionSortOfReal::Sort(aValues, aCompReal);
~~~~~
can be replaced by:
~~~~~
#include <algorithm>
...
TCollection_Array1OfReal aValues = ...;
...
std::stable_sort (aValues->begin(), aValues->end());
~~~~~
@subsection upgrade_occt700_2dlayers New implementation of 2d-layers
In latest OCCT version API that provided old implementation of 2d-layers was removed. Classes Aspect_Clayer2d, OpenGl_GrahpicDriver_Layer, Visual3d_Layer, Visual3d_LayerItem, V3d_LayerMgr, V3d_LayerMgrPointer were deleted.
Now 2d-layers are implemented through Z-layers. In order to create a 2d-object it is necessary to follow several steps:
1. Create an AIS interactive object
2. Set a Z-layer for it to determine in which layer this object will be displayed (layer system provides order of displaying objects, ones in the lower layer will be displayed behind the others in the higher layer)
3. Set transform persistence (flag Graphic3d_TMF_2d or Graphic3d_TMF_2d_IsTopDown and a gp_Pnt point, where X and Y are used to set the coordinates origin in 2d space of the view and Z coordinate defines the gap from border of view window, except center position)
One more feature of new 2d-layers imlementation is a ColorScale based on a new class AIS_ColorScale. Old implementation of ColorScale as a global property of V3d_View has been removed with associated methods V3d_View::ColorScaleDisplay(), V3d_View::ColorScaleErase(), V3d_View::ColorScaleIsDisplayed(), V3d_View::ColorScale() and classes V3d_ColorScale, V3d_ColorScaleLayerItem, Aspect_ColorScale.
New interactive object AIS_ColorScale provides the same configuration API as previously Aspect_ColorScale and V3d_ColorScale. It should be used in the following way to display a 2D presentation of ColorScale:
~~~~~
Handle(AIS_ColorScale) aCS = new AIS_ColorScale();
// configuring
aCS->SetHeight (0.95);
aCS->SetRange (0.0, 10.0);
aCS->SetNumberOfIntervals (10);
// displaying
aCS->SetZLayer (Graphic3d_ZLayerId_TopOSD);
aCS->SetTransformPersistence (Graphic3d_TMF_2d, gp_Pnt (-1,-1,0));
aCS->SetToUpdate();
theContextAIS->Display (aCS);
~~~~~
To see how 2d objects are realized in OCCT you can call draw commands vcolorscale, vlayerline or vdrawtext (with -2d option). Draw command vcolorscale now requires a name of ColorScale object as an argument. To display this object use command vdisplay. Example:
~~~~~
pload VISUALIZATION
vinit
vcolorscale cs demo
pload MODELING
box b 100 100 100
vdisplay b
vsetdispmode 1
vfit
vlayerline 0 300 300 300 10
vdrawtext t "2D-TEXT" -2d -pos 0 150 0 -color red
~~~~~
Here is a small example in c++ how to display a custom AIS object in 2d:
~~~~~
Handle(AIS_InteractiveContext) aContext = ...; //get AIS context
Handle(AIS_InteractiveObject) anObj =...; //create an AIS object
anObj->SetZLayer(Graphic3d_ZLayerId_TopOSD); //display object in overlay
anObj->SetTransformPersistence (Graphic3d_TMF_2d, gp_Pnt (-1,-1,0)); //set 2d flag, coordinate origin is set to down-left corner
aContext->Display (anObj); //display the object
~~~~~

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

3277
dox/dev_guides/wok/wok.md Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1282,11 +1282,7 @@ Syntax:
~~~~~
vinit
~~~~~
Creates new View window with specified name view_name.
By default the new view is created in the viewer and in graphic driver shared with active view.
* *name* = {driverName/viewerName/viewName | viewerName/viewName | viewName}.
If driverName isn't specified the driver will be shared with active view.
If viewerName isn't specified the viewer will be shared with active view.
Creates the 3D viewer window
@subsubsection occt_draw_4_2_2 vhelp
@@ -1303,7 +1299,7 @@ Syntax:
vtop
~~~~~
Displays top view in the 3D viewer window. Orientation +X+Y.
Displays top view in the 3D viewer window.
**Example:**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp}
@@ -1321,7 +1317,7 @@ Syntax:
vaxo
~~~~~
Displays axonometric view in the 3D viewer window. Orientation +X-Y+Z.
Displays axonometric view in the 3D viewer window.
**Example:**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp}
@@ -1361,7 +1357,7 @@ Syntax:
~~~~~
vrepaint
~~~~~
Forcebly redisplays the shape in the 3D viewer window.
Forcedly redisplays the shape in the 3D viewer window.
@subsubsection occt_draw_4_2_8 vfit
@@ -1393,7 +1389,7 @@ Read pixel value for active view.
Syntax:
~~~~~
vselect x1 y1 [x2 y2 [x3 y3 ... xn yn]] [-allowoverlap 0|1] [shift_selection = 0|1]
vselect x1 y1 [x2 y2 [x3 y3 ... xn yn]] [shift_selection = 0|1]
~~~~~
Emulates different types of selection:
@@ -1401,7 +1397,6 @@ Emulates different types of selection:
* single mouse click selection
* selection with a rectangle having the upper left and bottom right corners in <i>(x1,y1)</i> and <i>(x2,y2)</i> respectively
* selection with a polygon having the corners in pixel positions <i>(x1,y1), (x2,y2),…, (xn,yn)</i>
* -allowoverlap manages overlap and inclusion detection in rectangular selection. If the flag is set to 1, both sensitives that were included completely and overlapped partially by defined rectangle will be detected, otherwise algorithm will chose only fully included sensitives. Default behavior is to detect only full inclusion.
* any of these selections if shift_selection is set to 1.
@subsubsection occt_draw_4_2_12 vmoveto
@@ -1417,18 +1412,9 @@ Emulates cursor movement to pixel position (x,y).
Syntax:
~~~~~
vviewparams [-scale [s]] [-eye [x y z]] [-at [x y z]] [-up [x y z]] [-proj [x y z]] [-center x y] [-size sx]
vviewparams [scale center_X center_Y proj_X proj_Y proj_Z up_X up_Y up_Z at_X at_Y at_Z]
~~~~~
Gets or sets current view parameters.
* If called without arguments, all view parameters are printed.
* The options are:
* -scale [s] : prints or sets viewport relative scale.
* -eye [x y z] : prints or sets eye location.
* -at [x y z] : prints or sets center of look.
* -up [x y z] : prints or sets direction of up vector.
* -proj [x y z] : prints or sets direction of look.
* -center x y : sets location of center of the screen in pixels.
* -size [sx] : prints viewport projection width and height sizes or changes the size of its maximum dimension.
Gets or sets the current view characteristics.
@subsubsection occt_draw_4_2_14 vchangeselected
@@ -1477,11 +1463,9 @@ Removes structures which do not belong to objects displayed in neutral point.
Syntax:
~~~~~
vhlr is_enabled={on|off} [show_hidden={1|0}]
vhlr is_enabled={on|off}
~~~~~
Hidden line removal algorithm:
* is_enabled: if is on HLR algorithm is applied.
* show_hidden: if equals to 1, hidden lines are drawn as dotted ones.
Switches hidden line removal (computed) mode on/off.
@subsubsection occt_draw_4_2_20 vhlrtype
@@ -1501,30 +1485,10 @@ If no shape is specified through the command arguments, the given HLR algorithm_
Syntax:
~~~~~
vcamera [-ortho] [-projtype]
[-persp]
[-fovy [Angle]] [-distance [Distance]]
[-stereo] [-leftEye] [-rightEye]
[-iod [Distance]] [-iodType [absolute|relative]]
[-zfocus [Value]] [-zfocusType [absolute|relative]]
vcamera
~~~~~
Manage camera parameters.
Prints current value when option called without argument.
Orthographic camera:
* -ortho activate orthographic projection
Perspective camera:
* -persp activate perspective projection (mono)
* -fovy field of view in y axis, in degrees
* -distance distance of eye from camera center
Stereoscopic camera:
* -stereo perspective projection (stereo)
* -leftEye perspective projection (left eye)
* -rightEye perspective projection (right eye)
* -iod intraocular distance value
* -iodType distance type, absolute or relative
* -zfocus stereographic focus value
* -zfocusType focus type, absolute or relative"
Manages camera parameters.
**Example:**
~~~~~
@@ -1539,20 +1503,10 @@ vcamera -persp
Syntax:
~~~~~
vstereo [0|1] [-mode Mode] [-reverse {0|1}] [-anaglyph Filter]
vstereo [0:1]
~~~~~
Control stereo output mode.
Available modes for -mode:
* quadBuffer - OpenGL QuadBuffer stereo, requires driver support. Should be called BEFORE vinit!
* anaglyph - Anaglyph glasses
* rowInterlaced - row-interlaced display
* columnInterlaced - column-interlaced display
* chessBoard - chess-board output
* sideBySide - horizontal pair
* overUnder - vertical pair
Available Anaglyph filters for -anaglyph:
* redCyan, redCyanSimple, yellowBlue, yellowBlueSimple, greenMagentaSimple
Turns stereo usage On/Off.
**Example:**
~~~~~
@@ -1582,33 +1536,11 @@ Enables/disables objects clipping.
Syntax:
~~~~~
vdisplay [-noupdate|-update] [-local] [-mutable] [-neutral]
[-trsfPers {pan|zoom|rotate|trihedron|full|none}=none] [-trsfPersPos X Y [Z]] [-3d|-2d|-2dTopDown]
[-dispMode mode] [-highMode mode]
[-layer index] [-top|-topmost|-overlay|-underlay]
[-redisplay]
name1 [name2] ... [name n]
vdisplay [-noupdate|-update] [-local] [-mutable] name1 [name2] … [name n]
~~~~~
Displays named objects.
Option -local enables displaying of objects in local selection context.
Local selection context will be opened if there is not any.
* *noupdate* suppresses viewer redraw call.
* *mutable* enables optimizations for mutable objects.
* *neutral* draws objects in main viewer.
* *layer* sets z-layer for objects. It can use '-overlay|-underlay|-top|-topmost' instead of '-layer index' for the default z-layers.
* *top* draws objects on top of main presentations but below topmost.
* *topmost* draws in overlay for 3D presentations with independent Depth.
* *overlay* draws objects in overlay for 2D presentations (On-Screen-Display).
* *underlay* draws objects in underlay for 2D presentations (On-Screen-Display).
* *selectable|-noselect* controls selection of objects.
* *trsfPers* sets a transform persistence flags. Flag 'full' is pan, zoom and rotate.
* *trsfPersPos* sets an anchor point for transform persistence.
* *2d|-2dTopDown* displays object in screen coordinates.
* *dispmode* sets display mode for objects.
* *highmode* sets hilight mode for objects.
* *redisplay* recomputes presentation of objects.
Displays named objects. Automatically redraws view by default.
Redraw can be suppressed by -noupdate option.
**Example:**
~~~~~
@@ -1623,7 +1555,7 @@ vfit
Syntax:
~~~~~
vdonly [-noupdate|-update] [name1] ... [name n]
vdonly [name1] [name n]
~~~~~
Displays only selected or named objects. If there are no selected or named objects, nothing is done.
@@ -1641,11 +1573,10 @@ vfit
Syntax:
~~~~~
vdisplayall [-local]
vdisplayall
~~~~~
Displays all erased interactive objects (see vdir and vstate).
Option -local enables displaying of the objects in local selection context.
Displays all created objects.
**Example:**
~~~~~
@@ -1757,30 +1688,18 @@ Makes a list of known types and signatures in AIS.
Syntax:
~~~~~
vaspects [-noupdate|-update] [name1 [name2 [...]] | -defaults]
[-setVisibility 0|1]
[-setColor ColorName] [-setcolor R G B] [-unsetColor]
[-setMaterial MatName] [-unsetMaterial]
[-setTransparency Transp] [-unsetTransparency]
[-setWidth LineWidth] [-unsetWidth]
[-setLineType {solid|dash|dot|dotDash}] [-unsetLineType]
[-freeBoundary {off/on | 0/1}]
[-setFreeBoundaryWidth Width] [-unsetFreeBoundaryWidth]
[-setFreeBoundaryColor {ColorName | R G B}] [-unsetFreeBoundaryColor]
vaspects [-noupdate|-update] [name1 [name2 [...]]]
[-setcolor ColorName] [-setcolor R G B] [-unsetcolor]
[-setmaterial MatName] [-unsetmaterial]
[-settransparency Transp] [-unsettransparency]
[-setwidth LineWidth] [-unsetwidth]
[-subshapes subname1 [subname2 [...]]]
[-isoontriangulation 0|1]
[-setMaxParamValue {value}]
~~~~~
Manage presentation properties of all, selected or named objects.
When *-subshapes* is specified than following properties will be assigned to specified sub-shapes.
When *-defaults* is specified than presentation properties will be assigned to all objects that have not their own specified properties and to all objects to be displayed in the future.
If *-defaults* is used there should not be any objects' names and -subshapes specifier.
Aliases:
~~~~~
vsetcolor [-noupdate|-update] [name] ColorName
vsetcolor [shapename] colorname
~~~~~
@@ -1859,7 +1778,7 @@ Syntax:
vunsetshading [shapename]
~~~~~
Sets default deflection coefficient (0.0008) that defines the quality of the shapes representation in the shading mode.
Sets default deflection coefficient (0.0008) that defines the quality of the shapes representation in the shading mode. Default coefficient is 0.0008.
@subsubsection occt_draw_4_3_13 vsetam
@@ -1900,10 +1819,7 @@ Deactivates all selection modes for all shapes.
Syntax:
~~~~~
vdump <filename>.{png|bmp|jpg|gif} [-width Width -height Height]
[-buffer rgb|rgba|depth=rgb]
[-stereo mono|left|right|blend|sideBySide|overUnder=mono]
vdump <filename>.{png|bmp|jpg|gif}
~~~~~
Extracts the contents of the viewer window to a image file.
@@ -1937,6 +1853,24 @@ vsetdispmode 1
vsub b 1
~~~~~
@subsubsection occt_draw_4_3_18 vardis
Syntax:
~~~~~
vardis
~~~~~
Displays active areas (for each activated sensitive entity, one or several 2D bounding boxes are displayed, depending on the implementation of a particular entity).
@subsubsection occt_draw_4_3_19 varera
Syntax:
~~~~~
varera
~~~~~
Erases active areas.
@subsubsection occt_draw_4_3_20 vsensdis
Syntax:
@@ -2005,12 +1939,10 @@ vr myshape.brep
Syntax:
~~~~~
vstate [-entities] [-hasSelected] [name1] ... [nameN]
vstate [name1] [name n]
~~~~~
Reports show/hidden state for selected or named objects
* *entities* - print low-level information about detected entities
* *hasSelected* - prints 1 if context has selected shape and 0 otherwise
Makes a list of the status (**Displayed** or **Not Displayed**) of some selected or named objects.
@subsubsection occt_draw_4_3_25 vraytrace
@@ -2025,27 +1957,18 @@ Turns on/off ray tracing renderer.
Syntax:
~~~~~
vrenderparams [-rayTrace|-raster] [-rayDepth 0..10] [-shadows {on|off}]
[-reflections {on|off}] [-fsaa {on|off}] [-gleam {on|off}]
[-gi {on|off}] [-brng {on|off}] [-env {on|off}]
[-shadin {color|flat|gouraud|phong}]
vrenderparams
~~~~~
Manages rendering parameters:
* rayTrace - Enables GPU ray-tracing
* raster - Disables GPU ray-tracing
* rayDepth - Defines maximum ray-tracing depth
* shadows - Enables/disables shadows rendering
* reflections - Enables/disables specular reflections
* fsaa - Enables/disables adaptive anti-aliasing
* gleam - Enables/disables transparency shadow effects
* gi - Enables/disables global illumination effects
* brng - Enables/disables blocked RNG (fast coherent PT)
* env - Enables/disables environment map background
* shadingModel - Controls shading model from enumeration color, flat, gouraud, phong
Unlike vcaps, these parameters dramatically change visual properties.
Command is intended to control presentation quality depending on hardware capabilities and performance.
* rayTrace
* raster
* rayDepth
* shadows
* reflections
* fsaa
* gleam
* shadingModel
**Example:**
~~~~~
@@ -2060,9 +1983,7 @@ vrenderparams -shadows 1 -reflections 1 -fsaa 1
Syntax:
~~~~~
'vshaderprog [name] pathToVertexShader pathToFragmentShader'
or 'vshaderprog [name] off' to disable GLSL program
or 'vshaderprog [name] phong' to enable per-pixel lighting calculations
vshaderprog [name] pathToVertexShader pathToFragmentShader
~~~~~
Enables rendering using a shader program.
@@ -2106,7 +2027,7 @@ Syntax:
vplanetri name
~~~~~
Create a plane from a trihedron selection. If no arguments are set, the default
Creates a plane from a trihedron selection.
@subsubsection occt_draw_4_4_3 vsize
@@ -2146,7 +2067,7 @@ vaxis axe1 0 0 0 1 0 0
Syntax:
~~~~~
vaxispara name
vaxispara nom
~~~~~
Creates an axis by interactive selection of an edge and a vertex.
@@ -2185,10 +2106,7 @@ vplane name [PlaneName] [PointName]
~~~~~
Creates a plane from named or interactively selected entities.
TypeOfSensitivity:
* 0 - Interior
* 1 - Boundary
**Example:**
~~~~~
vinit
@@ -2269,24 +2187,11 @@ Creates a plane with a 2D trihedron from an interactively selected face.
Syntax:
~~~~~
vselmode [object] mode_number is_turned_on=(1|0)
vselmode [object] mode On/Off
~~~~~
Sets the selection mode for an object. If the object value is not defined, the selection mode is set for all displayed objects.
*Mode_number* is non-negative integer that has different meaning for different interactive object classes.
For shapes the following *mode_number* values are allowed:
* 0 - shape
* 1 - vertex
* 2 - edge
* 3 - wire
* 4 - face
* 5 - shell
* 6 - solid
* 7 - compsolid
* 8 - compound
*is_turned_on* is:
* 1 if mode is to be switched on
* 0 if mode is to be switched off
Value *On* is defined as 1 and *Off* as 0.
**Example:**
~~~~~
@@ -2297,14 +2202,16 @@ vpoint p3 25 40 0
vtriangle triangle1 p1 p2 p3
~~~~~
@subsubsection occt_draw_4_4_15 vconnect
@subsubsection occt_draw_4_4_15 vconnect, vconnectsh
Syntax:
~~~~~
vconnect vconnect name Xo Yo Zo object1 object2 ... [color=NAME]
vconnect name object Xo Yo Zo Xu Xv Xw Zu Zv Zw
vconnectsh name shape Xo Yo Zo Xu Xv Xw Zu Zv Zw
~~~~~
Creates and displays AIS_ConnectedInteractive object from input object and location
Creates and displays an object with input location connected to a named entity.
The difference between these two commands is that the object created by *vconnect* does not support the selection modes different from 0.
**Example:**
~~~~~
@@ -2314,7 +2221,7 @@ vpoint p2 50 0 0
vsegment segment p1 p2
restore CrankArm.brep obj
vdisplay obj
vconnect new obj 100100100 1 0 0 0 0 1
vconnectsh new obj 100100100 1 0 0 0 0 1
~~~~~
@subsubsection occt_draw_4_4_16 vtriangle
@@ -2356,23 +2263,15 @@ vsegment segment p1 p2
Syntax:
~~~~~
vpointcloud name shape [-randColor] [-normals] [-noNormals]
vpointcloud name shape
~~~~~
Creates an interactive object for an arbitary set of points from the triangulated shape.
Additional options:
* *randColor* - generate random color per point
* *normals* - generate normal per point (default)
* *noNormals* - do not generate normal per point
~~~~~
vpointcloud name x y z r npts {surface|volume} [-randColor] [-normals] [-noNormals]
vpointcloud name x y z r npts {surface|volume}
~~~~~
Creates an arbitrary set of points (npts) randomly distributed on a spheric surface or within a spheric volume (x y z r).
Additional options:
* *randColor* - generate random color per point
* *normals* - generate normal per point (default)
* *noNormals* - do not generate normal per point
**Example:**
~~~~~

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

View File

@@ -687,7 +687,7 @@ If a shape is newly created, then the old shape of a corresponding named shape i
@image html /user_guides/ocaf/images/ocaf_image013.png
@image latex /user_guides/ocaf/images/ocaf_image013.png
@subsection occt_ocaf_5_2 Shape attributes in data framework.
### Shape attributes in data framework.
Different algorithms may dispose sub-shapes of the result shape at the individual labels depending on whether it is necessary to do so:
@@ -717,7 +717,9 @@ This is necessary and sufficient information for the functionality of the right
After any modification of source boxes the application must automatically rebuild the naming entities: recompute the named shapes of the boxes (solids and faces) and fuse the resulting named shapes (solids and faces) that reference to the new named shapes.
@subsection occt_ocaf_5_3 Registering shapes and their evolution
@subsection occt_ocaf_5_2 Services provided
@subsubsection occt_ocaf_5_2_1 Registering shapes and their evolution
When using TNaming_NamedShape to create attributes, the following fields of an attribute are filled:
@@ -731,9 +733,9 @@ When using TNaming_NamedShape to create attributes, the following fields of an a
Only pairs of shapes with equal evolution can be stored in one named shape.
@subsection occt_ocaf_5_4 Using naming resources
@subsubsection occt_ocaf_5_2_2 Using naming resources
The class *TNaming_Builder* allows creating a named shape attribute. It has a label of a future attribute as an argument of the constructor. Respective methods are used for the evolution and setting of shape pairs. If for the same TNaming_Builder object a lot of pairs of shapes with the same evolution are given, then these pairs would be placed in the resulting named shape. After the creation of a new object of the TNaming_Builder class, an empty named shape is created at the given label.
The class *TNaming_Builder* allows you to create a named shape attribute. It has a label of a future attribute as an argument of the constructor. Respective methods are used for the evolution and setting of shape pairs. If for the same TNaming_Builder object a lot of pairs of shapes with the same evolution are given, then these pairs would be placed in the resulting named shape. After the creation of a new object of the TNaming_Builder class, an empty named shape is created at the given label.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp}
// a new empty named shape is created at "label"
@@ -745,8 +747,7 @@ builder.Generated(oldshape2,newshape2);
// get the result TNaming_NamedShape attribute
Handle(TNaming_NamedShape) ns = builder.NamedShape();
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@subsection occt_ocaf_5_5 Reading the contents of a named shape attribute
@subsubsection occt_ocaf_5_2_3 Reading the contents of a named shape attribute
You can use the method <i>TNaming_NamedShape::Evolution()</i> to get the evolution of this named shape and the method <i>TNaming_NamedShape::Get()</i> to get a compound of new shapes of all pairs of this named shape.
@@ -774,55 +775,19 @@ iter.Next();
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@subsection occt_ocaf_5_6 Topological naming
@subsubsection occt_ocaf_5_2_4 Selection Mechanism
The Topological Naming mechanism is based on 3 components:
* History of the used modeling operation algorithm;
* Registering of the built result in Data Framework (i.e. loading the necessary elements of the extracted history in OCAF document);
* Selection / Recomputation of a "selected" sub-shape of the algorithm result.
One of user interfaces for topological naming resources is the *TNaming_Selector* class. You can use this class to:
To get the expected result the work of the three components should be synchronized and the rules of each component should be respected.
* Store a selected shape on a label
* Access the named shape
* Update this naming
@subsubsection occt_ocaf_5_6_1 Algorithm history
Selector places a new named shape with evolution SELECTED to the given label. By the given context shape (main shape, which contains a selected sub-shape), its evolution and naming structure the selector creates a "name" of the selected shape unique description how to find a selected topology.
The "correct" history of a used modeling operation serves the basis of naming mechanism. It should be provided by the algorithm supporting the operation. The history content depends on the type of the topological result. The purpose of the history is to provide all entities for consistent and correct work of the Selection / Recomputation mechanism. The table below presents expected types of entities depending on the result type.
After any modification of a context shape and updating of the corresponding naming structure, you must call the method *TNaming_Selector::Solve*. If the naming structure is correct, the selector automatically updates the selected shape in the corresponding named shape, else it fails.
| Result type | Type of sub-shapes to be returned by history of algorithm | Comments |
| :---------- | :-------------------------------------------------------- | :------- |
| Solid or closed shell | Faces | All faces |
| Open shell or single face | Faces and edges of opened boundaries only | All faces plus all edges of opened boundaries |
| Closed wire | Edges | All edges |
| Opened wire | Edges and ending vertexes | All edges plus ending vertexes of the wire |
| Edge | Vertexes | Two vertexes are expected |
| Compound or CompSolid | To be used consequentially the above declared rule applied to all sub-shapes of the first level | Compound/CompSolid to be explored level by level until any the mentioned above types will be met |
The history should return (and track) only elementary types of sub-shapes, i.e. Faces, Edges and Vertexes, while other so-called aggregation types: Compounds, Shells, Wires, are calculated by Selection mechanism automatically.
There are some simple exceptions for several cases. For example, if the Result contains a seam edge - in conical, cylindrical or spherical surfaces - this seam edge should be tracked by the history and in addition should be defined before the types. All degenerated entities should be filtered and excluded from consideration.
@subsubsection occt_ocaf_5_6_2 Loading history in data framework
All elements returned by the used algorithm according to the aforementioned rules should be put in the Data Framework (or OCAF document in other words) consequently in linear order under the so-called **Result Label**.
The "Result Label" is *TDF_label* used to keep the algorithm result *Shape* from *TopoDS* in *NamedShape* attribute. During loading sub-shapes of the result in Data Framework should be used the rules of chapter @ref occt_ocaf_5_3. These rules are also applicable for loading the main shape, i.e. the resulting shape produced by the modeling algorithm.
@subsubsection occt_ocaf_5_6_3 Selection / re-computation mechanism
When the Data Framework is filled with all impacted entities (including the data structures resulting from the current modeling operation and the data structures resulting from the previous modeling operations, on which the current operation depends) any sub-shape of the current result can be **selected**, i.e. the corresponding new naming data structures, which support this functionality, can be produced and kept in the Data Framework.
One of the user interfaces for topological naming is the class *TNaming_Selector*. It implements the above mentioned sub-shape "selection" functionality as an additional one. I.e. it can be used for:
* Storing the selected shape on a label - its **Selection**;
* Accessing the named shape check the kept value of the shape
* Update of this naming recomputation of an earlier selected shape.
The selector places a new named shape with evolution **SELECTED** to the given label. The selector creates a **name** of the selected shape, which is a unique description (data structure) of how to find the selected topology using as resources:
* the given context shape, i.e. the main shape kept on **Result Label**, which contains a selected sub-shape,
* its evolution and
* naming structure.
After any modification of a context shape and update of the corresponding naming structure, it is necessary to call method *TNaming_Selector::Solve*. If the naming structure, i.e. the above mentioned **name**, is correct, the selector automatically updates the selected sub-shape in the corresponding named shape, else it fails.
@subsection occt_ocaf_5_7 Exploring shape evolution
@subsubsection occt_ocaf_5_2_5 Exploring shape evolution
The class *TNaming_Tool* provides a toolkit to read current data contained in the attribute.
@@ -842,54 +807,6 @@ Standard_Boolean CafTest_MyClass::SameEdge (const Handle(CafTest_Line)& L1, cons
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@subsection occt_ocaf_5_8 Example of topological naming usage
**Topological naming** is a mechanism of Open CASCADE aimed to keep reference to the selected shape. If, for example, we select a vertex of a solid shape and “ask” the topological naming to keep reference to this vertex, it will refer to the vertex whatever happens with the shape (translations, scaling, fusion with another shape, etc.).
Let us consider an example: imagine a wooden plate. The job is to drive several nails in it:
@figure{/user_guides/ocaf/images/ocaf_image020.png, "A nail driven in a wooden plate"}
There may be several nails with different size and position. A **Hammer** should push each **Nail** exactly in the center point of the top surface. For this the user does the following:
* Makes several Nails of different height and diameter (according to the need),
* Chooses (selects) the upper surface of each Nail for the Hammer.
The job is done. The application should do the rest the Hammer calculates a center point for each selected surface of the Nail and “strikes” each Nail driving it into the wooden plate.
What happens if the user changes the position of some Nails? How will the Hammer know about it? It keeps reference to the surface of each Nail. However, if a Nail is relocated, the Hammer should know the new position of the selected surface. Otherwise, it will “strike” at the old position (keep the fingers away!)…
Topological naming mechanism should help the Hammer to obtain the relocated surfaces. The Hammer “asks” the mechanism to “resolve” the selected shapes by calling method *TNaming_Selection::Solve()* and the mechanism “returns” the modified surfaces located at the new position by calling *TNaming_Selector::NamedShape()*.
The topological naming is represented as a “black box” in the example above. Now it is time to make the box a little more “transparent”.
The application contains 3 functions:
* **Nail** - produces a shape representing a nail,
* **Translator** - translates a shape along the wooden plate,
* **Hammer** - drives the nail in the wooden plate.
Each function gives the topological naming some hints how to “re-solve” the selected sub-shapes:
* The Nail constructs a solid shape and puts each face of the shape into sub-labels:
@figure{/user_guides/ocaf/images/ocaf_image021.png, "Distribution of faces through sub-labels of the Nail"}
* The **Translator** moves a shape and registers modification for each face: it puts a pair: “old” shape “new” shape at a sub-label of each moving Nail. The “old” shape represents a face of the Nail at the initial position. The “new” shape is the same face, but at a new position:
@figure{/user_guides/ocaf/images/ocaf_image022.png, "Registration of relocation of faces of a Nail"}
How does it work?
* The Hammer selects a face of a Nail calling *TNaming_Selector::Select()*. This call makes a unique name for the selected shape. In our example, it will be a direct reference to the label of the top face of the Nail (Face 1).
* When the user moves a Nail along the wooden plate, the Translator registers this modification by putting the pairs: “old” face of the Nail new face of the Nail into its sub-labels.
* When the Hammer calls *TNaming::Solve()*, the topological naming “looks” at the unique name of the selected shape and tries to re-solve it:
* It finds the 1st appearance of the selected shape in the data tree it is a label under the Nail function *Face 1*.
* It follows the evolution of this face. In our case, there is only one evolution the translation: *Face 1* (top face) <i>Face 1</i> (relocated top face). So, the last evolution is the relocated top face.
* Calling the method *TNaming_Selector::NamedShape()* the Hammer obtains the last evolution of the selected face the relocated top face.
The job is done.
P.S. Let us say a few words about a little more complicated case selection of a wire of the top face. Its topological name is an “intersection” of two faces. We remember that the **Nail** puts only faces under its label. So, the selected wire will represent an “intersection” of the top face and the conic face keeping the “head” of the nail. Another example is a selected vertex. Its unique name may be represented as an “intersection” of three or even more faces (depends on the shape).
@section occt_ocaf_6_ Standard Attributes
@subsection occt_ocaf_6_1 Overview

View File

@@ -1447,42 +1447,11 @@ Handle(Geom_Surface) newSurf = ConvSurf.ConvertToPeriodic(Standard_False);
Standard_Real maxdist = ConvSurf.Gap();
~~~~~
@subsubsection occt_shg_4_4_9 Unify Same Domain
*ShapeUpgrade_UnifySameDomain* tool allows unifying all possible faces and edges of a shape, which lies on the same geometry. Faces/edges are considered as 'same-domain' if the neighboring faces/edges lie on coincident surfaces/curves. Such faces/edges can be unified into one face/edge.
This tool takes an input shape and returns a new one. All modifications of the initial shape are recorded during the operation.
The following options are available:
* If the flag *UnifyFaces* is set to TRUE, *UnifySameDomain* tries to unify all possible faces;
* If the flag *UnifyEdges* is set to TRUE, *UnifySameDomain* tries to unify all possible edges;
* if the flag *ConcatBSplines* is set to TRUE, all neighboring edges, which lie on the BSpline or Bezier curves with C1 continuity on their common vertices will be merged into one common edge.
By default, *UnifyFaces* and *UnifyEdges* are set to TRUE; *ConcatBSplines* is set to FALSE.
The common methods of this tool are as follows:
* Method *Build()* is used to unify.
* Method *Shape()* is used to get the resulting shape.
* Method *Generated()* is used to get a new common shape from the old shape. If a group of edges has been unified into one common edge then method *Generated()* called on any edge from this group will return the common edge. The same goes for the faces.
The example of the usage is given below:
~~~~~
// 'Sh' is the initial shape
ShapeUpgrade_UnifySameDomain USD(Sh, true, true, true); // UnifyFaces mode on, UnifyEdges mode on, ConcatBSplines mode on.
USD.Build();
//get the result
TopoDS_Shape Result = USD.Shape();
//Let Sh1 as a part of Sh
//get the new (probably unified) shape form the Sh1
TopoDS_Shape ResSh1 = USD.Generated(Sh1);
~~~~~
@section occt_shg_5_ Auxiliary tools for repairing, analysis and upgrading
@subsection occt_shg_5_1 Tool for rebuilding shapes
Class *ShapeBuild_ReShape* rebuilds a shape by making predefined substitutions on some of its components. During the first phase, it records requests to replace or remove some individual shapes. For each shape, the last given request is recorded. Requests may be applied as *Oriented* (i.e. only to an item with the same orientation) or not (the orientation of the replacing shape corresponds to that of the original one). Then these requests may be applied to any shape, which may contain one or more of these individual shapes.
Class *ShapeBuild_ReShape* rebuilds a shape by making pre-defined substitutions on some of its components. During the first phase, it records requests to replace or remove some individual shapes. For each shape, the last given request is recorded. Requests may be applied as *Oriented* (i.e. only to an item with the same orientation) or not (the orientation of the replacing shape corresponds to that of the original one). Then these requests may be applied to any shape, which may contain one or more of these individual shapes.
This tool has a flag for taking the location of shapes into account (for keeping the structure of assemblies) (*ModeConsiderLocation*). If this mode is equal to Standard_True, the shared shapes with locations will be kept. If this mode is equal to Standard_False, some different shapes will be produced from one shape with different locations after rebuilding. By default, this mode is equal to Standard_False.

View File

@@ -15,7 +15,7 @@ set "TCL_EXEC=tclsh.exe"
for %%X in (%TCL_EXEC%) do (set TCL_FOUND=%%~$PATH:X)
if defined TCL_FOUND (
%TCL_EXEC% %~dp0adm/start.tcl gendoc %*
%TCL_EXEC% %~dp0adm/start.tcl %*
) else (
echo "Error. %TCL_EXEC% is not found. Please update PATH variable"
)

Some files were not shown because too many files have changed in this diff Show More