- Replaces all `CMAKE_SOURCE_DIR` references with `OCCT_ROOT_DIR` across CMake files
- Updates build templates to use the new root directory variable
- Modifies environment variable configurations to use the flexible root path
cmake_minimum_required (VERSION 3.10 FATAL_ERROR)
+# Define OCCT root directory as a cache variable - works for both standalone and subproject builds
+set(OCCT_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH "Root directory of OCCT project" FORCE)
+
if (NOT DEFINED BUILD_USE_VCPKG)
set (BUILD_USE_VCPKG OFF CACHE BOOL "Use vcpkg for 3rdparty libraries.")
if (CMAKE_TOOLCHAIN_FILE MATCHES "vcpkg.cmake")
message(FATAL_ERROR "VCPKG_ROOT is not defined. Please set it to the path of vcpkg root directory.")
endif()
- set (VCPKG_MANIFEST_DIR "${CMAKE_SOURCE_DIR}/adm/vcpkg/ports/opencascade")
+ set (VCPKG_MANIFEST_DIR "${OCCT_ROOT_DIR}/adm/vcpkg/ports/opencascade")
# Disable default features for vcpkg manifest
set (VCPKG_MANIFEST_NO_DEFAULT_FEATURES 1)
PROJECT (OCCT)
endif()
-set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/adm/cmake")
+set (CMAKE_MODULE_PATH "${OCCT_ROOT_DIR}/adm/cmake")
set (CMAKE_SUPPRESS_REGENERATION TRUE)
# include cmake file
macro (OCCT_INCLUDE_CMAKE_FILE BEING_INCLUDED_FILE)
- include (${CMAKE_SOURCE_DIR}/${BEING_INCLUDED_FILE}.cmake)
+ include (${OCCT_ROOT_DIR}/${BEING_INCLUDED_FILE}.cmake)
endmacro()
# set using memory manager option for TKernel
occt_set_apple_csf_vars()
endif()
-# copying clang-format file to the root of the project
-file(COPY ${CMAKE_SOURCE_DIR}/.clang-format DESTINATION ${CMAKE_SOURCE_DIR})
-
# Get all used variables: OS_WITH_BIT, COMPILER
OCCT_MAKE_OS_WITH_BITNESS()
OCCT_MAKE_COMPILER_SHORT_NAME()
OCCT_INSTALL_FILE_OR_DIR ("data/" "${INSTALL_DIR_DATA}")
OCCT_INSTALL_FILE_OR_DIR ("samples/tcl" "${INSTALL_DIR_SAMPLES}")
- install (FILES "${CMAKE_SOURCE_DIR}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
+ install (FILES "${OCCT_ROOT_DIR}/adm/templates/draw.${SCRIPT_EXT}" DESTINATION "${INSTALL_DIR_SCRIPT}"
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
# copy draw script to CMake binary folder
message (STATUS "Info: \(${CURRENT_TIME}\) OCCT toolkits processed")
# samples do not support patch usage
if (BUILD_SAMPLES_MFC OR BUILD_SAMPLES_QT)
- set (OCCT_ROOT ${CMAKE_SOURCE_DIR})
+ set (OCCT_ROOT ${OCCT_ROOT_DIR})
endif()
if (BUILD_SAMPLES_MFC)
endforeach()
set (SET_OpenCASCADE_CMAKE_C_FLAGS "${CMAKE_C_FLAGS_${OCCT_CONFIGURATION_UPPER}}")
set (SET_OpenCASCADE_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_${OCCT_CONFIGURATION_UPPER}}")
- configure_file("${CMAKE_SOURCE_DIR}/adm/templates/OpenCASCADECompileDefinitionsAndFlags.cmake.in" "OpenCASCADECompileDefinitionsAndFlags-${OCCT_CONFIGURATION_LOWER}.cmake" @ONLY)
+ configure_file("${OCCT_ROOT_DIR}/adm/templates/OpenCASCADECompileDefinitionsAndFlags.cmake.in" "OpenCASCADECompileDefinitionsAndFlags-${OCCT_CONFIGURATION_LOWER}.cmake" @ONLY)
endforeach()
# install OpenCASCADE config file with compile definitions and C/C++ flags ONLY for current configuration
install (CODE "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWER)")
endif()
# Configure and install cmake config file
-configure_file("${CMAKE_SOURCE_DIR}/adm/templates/OpenCASCADEConfig.cmake.in" "OpenCASCADEConfig.cmake" @ONLY)
+configure_file("${OCCT_ROOT_DIR}/adm/templates/OpenCASCADEConfig.cmake.in" "OpenCASCADEConfig.cmake" @ONLY)
install(FILES "${CMAKE_BINARY_DIR}/OpenCASCADEConfig.cmake" DESTINATION "${INSTALL_DIR_CMAKE}")
# Configure cmake version file
endif()
# remove old general version of FlexLexer
-if (EXISTS ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h)
- message (STATUS "Info: remove old FLEX header file: ${CMAKE_SOURCE_DIR}/src/FlexLexer/FlexLexer.h")
- file(REMOVE ${CMAKE_SOURCE_DIR}/src/FlexLexer/FlexLexer.h)
+if (EXISTS ${OCCT_ROOT_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h)
+ message (STATUS "Info: remove old FLEX header file: ${OCCT_ROOT_DIR}/src/FlexLexer/FlexLexer.h")
+ file(REMOVE ${OCCT_ROOT_DIR}/src/FlexLexer/FlexLexer.h)
endif()
# install copy of FlexLexer.h locally to allow further building without flex
if (FLEX_INCLUDE_DIR AND EXISTS "${FLEX_INCLUDE_DIR}/FlexLexer.h")
- configure_file("${FLEX_INCLUDE_DIR}/FlexLexer.h" "${CMAKE_SOURCE_DIR}/src/FlexLexer/FlexLexer.h" @ONLY NEWLINE_STYLE LF)
+ configure_file("${FLEX_INCLUDE_DIR}/FlexLexer.h" "${OCCT_ROOT_DIR}/src/FlexLexer/FlexLexer.h" @ONLY NEWLINE_STYLE LF)
endif()
# Function to load file lists for documentation
function(OCCT_DOC_LOAD_FILE_LISTS)
# Load list of HTML documentation files
- set(FILES_HTML_PATH "${CMAKE_SOURCE_DIR}/dox/FILES_HTML.txt")
+ set(FILES_HTML_PATH "${OCCT_ROOT_DIR}/dox/FILES_HTML.txt")
if(EXISTS ${FILES_HTML_PATH})
file(STRINGS ${FILES_HTML_PATH} HTML_FILES REGEX "^[^#]+")
set(OCCT_DOC_HTML_FILES ${HTML_FILES} PARENT_SCOPE)
endif()
# Load list of PDF documentation files
- set(FILES_PDF_PATH "${CMAKE_SOURCE_DIR}/dox/FILES_PDF.txt")
+ set(FILES_PDF_PATH "${OCCT_ROOT_DIR}/dox/FILES_PDF.txt")
if(EXISTS ${FILES_PDF_PATH})
file(STRINGS ${FILES_PDF_PATH} PDF_FILES REGEX "^[^#]+")
set(OCCT_DOC_PDF_FILES ${PDF_FILES} PARENT_SCOPE)
# Use existing Doxygen template file as base
if(DOC_TYPE STREQUAL "OVERVIEW")
- set(TEMPLATE_DOXYFILE "${CMAKE_SOURCE_DIR}/dox/resources/occt_ug_html.doxyfile")
+ set(TEMPLATE_DOXYFILE "${OCCT_ROOT_DIR}/dox/resources/occt_ug_html.doxyfile")
else()
- set(TEMPLATE_DOXYFILE "${CMAKE_SOURCE_DIR}/dox/resources/occt_rm.doxyfile")
+ set(TEMPLATE_DOXYFILE "${OCCT_ROOT_DIR}/dox/resources/occt_rm.doxyfile")
endif()
# Define Doxygen parameters that need to be overridden from the template
# Additional parameters based on the document type
if(DOC_TYPE STREQUAL "OVERVIEW")
# Settings for Overview documentation
- file(APPEND ${DOXYGEN_CONFIG_FILE} "PROJECT_LOGO = ${CMAKE_SOURCE_DIR}/dox/resources/occ_logo.png\n")
+ file(APPEND ${DOXYGEN_CONFIG_FILE} "PROJECT_LOGO = ${OCCT_ROOT_DIR}/dox/resources/occ_logo.png\n")
file(APPEND ${DOXYGEN_CONFIG_FILE} "EXTRACT_ALL = NO\n")
file(APPEND ${DOXYGEN_CONFIG_FILE} "EXTRACT_PRIVATE = NO\n")
file(APPEND ${DOXYGEN_CONFIG_FILE} "EXTRACT_STATIC = NO\n")
if(DEFINED OCCT_OVERVIEW_FILES)
file(APPEND ${DOXYGEN_CONFIG_FILE} "INPUT = ${OCCT_OVERVIEW_FILES}\n")
else()
- file(APPEND ${DOXYGEN_CONFIG_FILE} "INPUT = ${CMAKE_SOURCE_DIR}/dox\n")
+ file(APPEND ${DOXYGEN_CONFIG_FILE} "INPUT = ${OCCT_ROOT_DIR}/dox\n")
endif()
# Collect image directories for overview
- set(OVERVIEW_INPUT_DIRS ${CMAKE_SOURCE_DIR}/dox)
+ set(OVERVIEW_INPUT_DIRS ${OCCT_ROOT_DIR}/dox)
OCCT_DOC_COLLECT_IMAGE_DIRS("${OVERVIEW_INPUT_DIRS}" OVERVIEW_IMAGE_DIRS)
# Image path for overview
if(OVERVIEW_IMAGE_DIRS)
string(REPLACE ";" " " OVERVIEW_IMAGE_DIRS_STR "${OVERVIEW_IMAGE_DIRS}")
- file(APPEND ${DOXYGEN_CONFIG_FILE} "IMAGE_PATH = ${OVERVIEW_IMAGE_DIRS_STR} ${CMAKE_SOURCE_DIR}/dox/resources\n")
+ file(APPEND ${DOXYGEN_CONFIG_FILE} "IMAGE_PATH = ${OVERVIEW_IMAGE_DIRS_STR} ${OCCT_ROOT_DIR}/dox/resources\n")
else()
- file(APPEND ${DOXYGEN_CONFIG_FILE} "IMAGE_PATH = ${CMAKE_SOURCE_DIR}/dox/resources\n")
+ file(APPEND ${DOXYGEN_CONFIG_FILE} "IMAGE_PATH = ${OCCT_ROOT_DIR}/dox/resources\n")
endif()
# Example paths
- file(APPEND ${DOXYGEN_CONFIG_FILE} "EXAMPLE_PATH = ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/samples\n")
+ file(APPEND ${DOXYGEN_CONFIG_FILE} "EXAMPLE_PATH = ${OCCT_ROOT_DIR}/src ${OCCT_ROOT_DIR}/samples\n")
else()
# Settings for Reference Manual
file(APPEND ${DOXYGEN_CONFIG_FILE} "PROJECT_NAME = \"Open CASCADE Technology Reference Manual\"\n")
- file(APPEND ${DOXYGEN_CONFIG_FILE} "PROJECT_LOGO = ${CMAKE_SOURCE_DIR}/dox/resources/occ_logo.png\n")
+ file(APPEND ${DOXYGEN_CONFIG_FILE} "PROJECT_LOGO = ${OCCT_ROOT_DIR}/dox/resources/occ_logo.png\n")
file(APPEND ${DOXYGEN_CONFIG_FILE} "BUILTIN_STL_SUPPORT = YES\n")
file(APPEND ${DOXYGEN_CONFIG_FILE} "EXTRACT_PRIVATE = NO\n")
file(APPEND ${DOXYGEN_CONFIG_FILE} "EXTRACT_PACKAGE = YES\n")
# Input files for reference manual - CRITICAL FOR PROPER GENERATION
file(APPEND ${DOXYGEN_CONFIG_FILE} "\n# Input files for reference manual\n")
- file(APPEND ${DOXYGEN_CONFIG_FILE} "INPUT = ${CMAKE_SOURCE_DIR}/src\n")
+ file(APPEND ${DOXYGEN_CONFIG_FILE} "INPUT = ${OCCT_ROOT_DIR}/src\n")
# If generating documentation for specific modules
if(DEFINED OCCT_DOC_MODULES)
set(MODULE_PATHS "")
foreach(MODULE ${OCCT_DOC_MODULES})
foreach(TOOLKIT ${${MODULE}_TOOLKITS})
- list(APPEND MODULE_PATHS "${CMAKE_SOURCE_DIR}/src/${TOOLKIT}")
+ list(APPEND MODULE_PATHS "${OCCT_ROOT_DIR}/src/${TOOLKIT}")
endforeach()
endforeach()
string(REPLACE ";" " " MODULE_PATHS_STR "${MODULE_PATHS}")
endif()
# Configure image path for reference manual
- set(REFMAN_INPUT_DIRS ${CMAKE_SOURCE_DIR}/src)
+ set(REFMAN_INPUT_DIRS ${OCCT_ROOT_DIR}/src)
OCCT_DOC_COLLECT_IMAGE_DIRS("${REFMAN_INPUT_DIRS}" REFMAN_IMAGE_DIRS)
if(REFMAN_IMAGE_DIRS)
string(REPLACE ";" " " REFMAN_IMAGE_DIRS_STR "${REFMAN_IMAGE_DIRS}")
- file(APPEND ${DOXYGEN_CONFIG_FILE} "IMAGE_PATH = ${REFMAN_IMAGE_DIRS_STR} ${CMAKE_SOURCE_DIR}/dox/resources\n")
+ file(APPEND ${DOXYGEN_CONFIG_FILE} "IMAGE_PATH = ${REFMAN_IMAGE_DIRS_STR} ${OCCT_ROOT_DIR}/dox/resources\n")
else()
- file(APPEND ${DOXYGEN_CONFIG_FILE} "IMAGE_PATH = ${CMAKE_SOURCE_DIR}/dox/resources\n")
+ file(APPEND ${DOXYGEN_CONFIG_FILE} "IMAGE_PATH = ${OCCT_ROOT_DIR}/dox/resources\n")
endif()
# Add main page file if generated
endif()
# Custom CSS
- if(EXISTS "${CMAKE_SOURCE_DIR}/dox/resources/custom.css")
- file(APPEND ${DOXYGEN_CONFIG_FILE} "HTML_EXTRA_STYLESHEET = ${CMAKE_SOURCE_DIR}/dox/resources/custom.css\n")
+ if(EXISTS "${OCCT_ROOT_DIR}/dox/resources/custom.css")
+ file(APPEND ${DOXYGEN_CONFIG_FILE} "HTML_EXTRA_STYLESHEET = ${OCCT_ROOT_DIR}/dox/resources/custom.css\n")
endif()
# Set paths for dot tool
file(MAKE_DIRECTORY "${REFMAN_OUTPUT_DIR}/html")
# Copy index file to provide fast access to HTML documentation
- file(COPY "${CMAKE_SOURCE_DIR}/dox/resources/index.html" DESTINATION "${REFMAN_OUTPUT_DIR}")
+ file(COPY "${OCCT_ROOT_DIR}/dox/resources/index.html" DESTINATION "${REFMAN_OUTPUT_DIR}")
# Generate main page for reference manual
OCCT_DOC_GENERATE_MAIN_PAGE(${REFMAN_OUTPUT_DIR} "main_page.dox")
add_custom_target(RefMan
COMMAND ${DOXYGEN_EXECUTABLE} ${REFMAN_OUTPUT_DIR}/Doxyfile
COMMENT "Generating Reference Manual with Doxygen"
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ WORKING_DIRECTORY ${OCCT_ROOT_DIR}
VERBATIM
)
add_custom_target(Overview
COMMAND ${DOXYGEN_EXECUTABLE} ${OVERVIEW_OUTPUT_DIR}/Doxyfile
COMMENT "Generating Overview documentation with Doxygen"
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ WORKING_DIRECTORY ${OCCT_ROOT_DIR}
VERBATIM
)
# Copy index file to provide fast access to HTML documentation
- file(COPY "${CMAKE_SOURCE_DIR}/dox/resources/index.html" DESTINATION "${OVERVIEW_OUTPUT_DIR}")
+ file(COPY "${OCCT_ROOT_DIR}/dox/resources/index.html" DESTINATION "${OVERVIEW_OUTPUT_DIR}")
# Add custom command to copy generated documentation to install location if required
if(INSTALL_DOC_Overview)
# Create overview.html only for windows
if(WIN32)
- install(FILES "${CMAKE_SOURCE_DIR}/dox/resources/overview.html"
+ install(FILES "${OCCT_ROOT_DIR}/dox/resources/overview.html"
DESTINATION "${INSTALL_DIR_DOC}")
endif()
endif()
set(TEST_ENVIRONMENT
"CSF_LANGUAGE=us"
"MMGT_CLEAR=1"
- "CSF_SHMessage=${CMAKE_SOURCE_DIR}/resources/SHMessage"
- "CSF_MDTVTexturesDirectory=${CMAKE_SOURCE_DIR}/resources/Textures"
- "CSF_ShadersDirectory=${CMAKE_SOURCE_DIR}/resources/Shaders"
- "CSF_XSMessage=${CMAKE_SOURCE_DIR}/resources/XSMessage"
- "CSF_TObjMessage=${CMAKE_SOURCE_DIR}/resources/TObj"
- "CSF_StandardDefaults=${CMAKE_SOURCE_DIR}/resources/StdResource"
- "CSF_PluginDefaults=${CMAKE_SOURCE_DIR}/resources/StdResource"
- "CSF_XCAFDefaults=${CMAKE_SOURCE_DIR}/resources/StdResource"
- "CSF_TObjDefaults=${CMAKE_SOURCE_DIR}/resources/StdResource"
- "CSF_StandardLiteDefaults=${CMAKE_SOURCE_DIR}/resources/StdResource"
- "CSF_IGESDefaults=${CMAKE_SOURCE_DIR}/resources/XSTEPResource"
- "CSF_STEPDefaults=${CMAKE_SOURCE_DIR}/resources/XSTEPResource"
- "CSF_XmlOcafResource=${CMAKE_SOURCE_DIR}/resources/XmlOcafResource"
- "CSF_MIGRATION_TYPES=${CMAKE_SOURCE_DIR}/resources/StdResource/MigrationSheet.txt"
- "CSF_OCCTResourcePath=${CMAKE_SOURCE_DIR}/resources"
- "CSF_OCCTDataPath=${CMAKE_SOURCE_DIR}/data"
- "CSF_OCCTDocPath=${CMAKE_SOURCE_DIR}/doc"
- "CSF_OCCTSamplesPath=${CMAKE_SOURCE_DIR}/samples"
- "CSF_OCCTTestsPath=${CMAKE_SOURCE_DIR}/tests"
+ "CSF_SHMessage=${OCCT_ROOT_DIR}/resources/SHMessage"
+ "CSF_MDTVTexturesDirectory=${OCCT_ROOT_DIR}/resources/Textures"
+ "CSF_ShadersDirectory=${OCCT_ROOT_DIR}/resources/Shaders"
+ "CSF_XSMessage=${OCCT_ROOT_DIR}/resources/XSMessage"
+ "CSF_TObjMessage=${OCCT_ROOT_DIR}/resources/TObj"
+ "CSF_StandardDefaults=${OCCT_ROOT_DIR}/resources/StdResource"
+ "CSF_PluginDefaults=${OCCT_ROOT_DIR}/resources/StdResource"
+ "CSF_XCAFDefaults=${OCCT_ROOT_DIR}/resources/StdResource"
+ "CSF_TObjDefaults=${OCCT_ROOT_DIR}/resources/StdResource"
+ "CSF_StandardLiteDefaults=${OCCT_ROOT_DIR}/resources/StdResource"
+ "CSF_IGESDefaults=${OCCT_ROOT_DIR}/resources/XSTEPResource"
+ "CSF_STEPDefaults=${OCCT_ROOT_DIR}/resources/XSTEPResource"
+ "CSF_XmlOcafResource=${OCCT_ROOT_DIR}/resources/XmlOcafResource"
+ "CSF_MIGRATION_TYPES=${OCCT_ROOT_DIR}/resources/StdResource/MigrationSheet.txt"
+ "CSF_OCCTResourcePath=${OCCT_ROOT_DIR}/resources"
+ "CSF_OCCTDataPath=${OCCT_ROOT_DIR}/data"
+ "CSF_OCCTDocPath=${OCCT_ROOT_DIR}/doc"
+ "CSF_OCCTSamplesPath=${OCCT_ROOT_DIR}/samples"
+ "CSF_OCCTTestsPath=${OCCT_ROOT_DIR}/tests"
"CSF_OCCTBinPath=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
"CSF_OCCTLibPath=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}"
"CSF_OCCTIncludePath=${CMAKE_BINARY_DIR}/${INSTALL_DIR_INCLUDE}"
- "CASROOT=${CMAKE_SOURCE_DIR}"
+ "CASROOT=${OCCT_ROOT_DIR}"
)
# Build PATH environment variable
endif()
# Add DrawResources related environment if it exists
- if(EXISTS "${CMAKE_SOURCE_DIR}/resources/DrawResources")
- list(APPEND TEST_ENVIRONMENT "DRAWHOME=${CMAKE_SOURCE_DIR}/resources/DrawResources")
- list(APPEND TEST_ENVIRONMENT "CSF_DrawPluginDefaults=${CMAKE_SOURCE_DIR}/resources/DrawResources")
+ if(EXISTS "${OCCT_ROOT_DIR}/resources/DrawResources")
+ list(APPEND TEST_ENVIRONMENT "DRAWHOME=${OCCT_ROOT_DIR}/resources/DrawResources")
+ list(APPEND TEST_ENVIRONMENT "CSF_DrawPluginDefaults=${OCCT_ROOT_DIR}/resources/DrawResources")
- if(EXISTS "${CMAKE_SOURCE_DIR}/resources/DrawResources/DrawDefault")
- list(APPEND TEST_ENVIRONMENT "DRAWDEFAULT=${CMAKE_SOURCE_DIR}/resources/DrawResources/DrawDefault")
+ if(EXISTS "${OCCT_ROOT_DIR}/resources/DrawResources/DrawDefault")
+ list(APPEND TEST_ENVIRONMENT "DRAWDEFAULT=${OCCT_ROOT_DIR}/resources/DrawResources/DrawDefault")
endif()
endif()
function (FILE_TO_LIST FILE_NAME FILE_CONTENT)
set (LOCAL_FILE_CONTENT)
- if (EXISTS "${CMAKE_SOURCE_DIR}/${FILE_NAME}")
- file (STRINGS "${CMAKE_SOURCE_DIR}/${FILE_NAME}" LOCAL_FILE_CONTENT)
+ if (EXISTS "${OCCT_ROOT_DIR}/${FILE_NAME}")
+ file (STRINGS "${OCCT_ROOT_DIR}/${FILE_NAME}" LOCAL_FILE_CONTENT)
endif()
set (${FILE_CONTENT} ${LOCAL_FILE_CONTENT} PARENT_SCOPE)
endfunction()
function(FIND_FOLDER_OR_FILE FILE_OR_FOLDER_NAME RESULT_PATH)
- if (EXISTS "${CMAKE_SOURCE_DIR}/${FILE_OR_FOLDER_NAME}")
- set (${RESULT_PATH} "${CMAKE_SOURCE_DIR}/${FILE_OR_FOLDER_NAME}" PARENT_SCOPE)
+ if (EXISTS "${OCCT_ROOT_DIR}/${FILE_OR_FOLDER_NAME}")
+ set (${RESULT_PATH} "${OCCT_ROOT_DIR}/${FILE_OR_FOLDER_NAME}" PARENT_SCOPE)
else()
set (${RESULT_PATH} "" PARENT_SCOPE)
endif()
endfunction()
function (OCCT_ORIGIN_AND_PATCHED_FILES RELATIVE_PATH SEARCH_TEMPLATE RESULT)
- file (GLOB ORIGIN_FILES "${CMAKE_SOURCE_DIR}/${RELATIVE_PATH}/${SEARCH_TEMPLATE}")
+ file (GLOB ORIGIN_FILES "${OCCT_ROOT_DIR}/${RELATIVE_PATH}/${SEARCH_TEMPLATE}")
set (${RESULT} ${ORIGIN_FILES} PARENT_SCOPE)
endfunction()
endfunction()
macro (OCCT_INSTALL_FILE_OR_DIR BEING_INSTALLED_OBJECT DESTINATION_PATH)
- if (IS_DIRECTORY "${CMAKE_SOURCE_DIR}/${BEING_INSTALLED_OBJECT}")
- install (DIRECTORY "${CMAKE_SOURCE_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
+ if (IS_DIRECTORY "${OCCT_ROOT_DIR}/${BEING_INSTALLED_OBJECT}")
+ install (DIRECTORY "${OCCT_ROOT_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
else()
- install (FILES "${CMAKE_SOURCE_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
+ install (FILES "${OCCT_ROOT_DIR}/${BEING_INSTALLED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
endif()
endmacro()
macro (OCCT_CONFIGURE_AND_INSTALL BEING_CONGIRUGED_FILE BUILD_NAME INSTALL_NAME DESTINATION_PATH)
- configure_file("${CMAKE_SOURCE_DIR}/${BEING_CONGIRUGED_FILE}" "${BUILD_NAME}" @ONLY)
+ configure_file("${OCCT_ROOT_DIR}/${BEING_CONGIRUGED_FILE}" "${BUILD_NAME}" @ONLY)
install(FILES "${OCCT_BINARY_DIR}/${BUILD_NAME}" DESTINATION "${DESTINATION_PATH}" RENAME ${INSTALL_NAME})
endmacro()
function (FILE_TO_LIST FILE_NAME FILE_CONTENT)
set (LOCAL_FILE_CONTENT)
- if (EXISTS "${CMAKE_SOURCE_DIR}/${FILE_NAME}")
- file (STRINGS "${CMAKE_SOURCE_DIR}/${FILE_NAME}" LOCAL_FILE_CONTENT)
+ if (EXISTS "${OCCT_ROOT_DIR}/${FILE_NAME}")
+ file (STRINGS "${OCCT_ROOT_DIR}/${FILE_NAME}" LOCAL_FILE_CONTENT)
endif()
set (${FILE_CONTENT} ${LOCAL_FILE_CONTENT} PARENT_SCOPE)
set (OCCT_USED_PACKAGES)
# consider patched header.in template
- set (TEMPLATE_HEADER_PATH "${CMAKE_SOURCE_DIR}/adm/templates/header.in")
+ set (TEMPLATE_HEADER_PATH "${OCCT_ROOT_DIR}/adm/templates/header.in")
set (OCCT_HEADER_FILES_COMPLETE)
foreach(OCCT_TOOLKIT ${THE_OCCT_BUILD_TOOLKITS})
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}")
+ if (EXISTS "${OCCT_ROOT_DIR}/${BEING_COPIED_OBJECT}")
+ file (COPY "${OCCT_ROOT_DIR}/${BEING_COPIED_OBJECT}" DESTINATION "${DESTINATION_PATH}")
endif()
endmacro()
macro (OCCT_CONFIGURE BEING_CONGIRUGED_FILE FINAL_NAME)
- configure_file("${CMAKE_SOURCE_DIR}/${BEING_CONGIRUGED_FILE}" "${FINAL_NAME}" @ONLY)
+ configure_file("${OCCT_ROOT_DIR}/${BEING_CONGIRUGED_FILE}" "${FINAL_NAME}" @ONLY)
endmacro()
macro (OCCT_ADD_SUBDIRECTORY BEING_ADDED_DIRECTORY)
- if (EXISTS "${CMAKE_SOURCE_DIR}/${BEING_ADDED_DIRECTORY}/CMakeLists.txt")
- add_subdirectory (${CMAKE_SOURCE_DIR}/${BEING_ADDED_DIRECTORY})
+ if (EXISTS "${OCCT_ROOT_DIR}/${BEING_ADDED_DIRECTORY}/CMakeLists.txt")
+ add_subdirectory (${OCCT_ROOT_DIR}/${BEING_ADDED_DIRECTORY})
else()
message (STATUS "${BEING_ADDED_DIRECTORY} directory is not included")
endif()
if(GIT_FOUND)
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ WORKING_DIRECTORY ${OCCT_ROOT_DIR}
OUTPUT_VARIABLE GIT_HASH
ERROR_VARIABLE GIT_ERROR
OUTPUT_STRIP_TRAILING_WHITESPACE
# Check if working directory is clean
execute_process(
COMMAND ${GIT_EXECUTABLE} status --porcelain
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+ WORKING_DIRECTORY ${OCCT_ROOT_DIR}
OUTPUT_VARIABLE GIT_STATUS
OUTPUT_STRIP_TRAILING_WHITESPACE
)
continue()
endif()
# Note: files are generated in original source directory (not in patch!)
- set (FLEX_BISON_TARGET_DIR "${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/${THE_PACKAGE_NAME}")
+ set (FLEX_BISON_TARGET_DIR "${OCCT_ROOT_DIR}/${RELATIVE_SOURCES_DIR}/${THE_PACKAGE_NAME}")
# choose appropriate extension for generated files: "cxx" if source file contains
# instruction to generate C++ code, "c" otherwise
set (BISON_OUTPUT_FILE_EXT "c")
file(REMOVE ${FLEX_BISON_TARGET_DIR}/${FLEX_OUTPUT_FILE})
endif()
BISON_TARGET (Parser_${CURRENT_BISON_FILE_NAME} ${CURRENT_BISON_FILE} "${FLEX_BISON_TARGET_DIR}/${BISON_OUTPUT_FILE}"
- COMPILE_FLAGS "-p ${CURRENT_BISON_FILE_NAME} -l -M ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/=")
+ COMPILE_FLAGS "-p ${CURRENT_BISON_FILE_NAME} -l -M ${OCCT_ROOT_DIR}/${RELATIVE_SOURCES_DIR}/=")
FLEX_TARGET (Scanner_${CURRENT_FLEX_FILE_NAME} ${CURRENT_FLEX_FILE} "${FLEX_BISON_TARGET_DIR}/${FLEX_OUTPUT_FILE}"
COMPILE_FLAGS "-P${CURRENT_FLEX_FILE_NAME} -L")
ADD_FLEX_BISON_DEPENDENCY (Scanner_${CURRENT_FLEX_FILE_NAME} Parser_${CURRENT_BISON_FILE_NAME})
macro (OCCT_GENERATE_CONTENT_ONLY CurrentResource)
set (RESOURCE_FILES)
set (isResDirectory FALSE)
- if (IS_DIRECTORY "${CMAKE_SOURCE_DIR}/resources/${CurrentResource}")
- file (STRINGS "${CMAKE_SOURCE_DIR}/resources/${CurrentResource}/FILES" RESOURCE_FILES)
+ if (IS_DIRECTORY "${OCCT_ROOT_DIR}/resources/${CurrentResource}")
+ file (STRINGS "${OCCT_ROOT_DIR}/resources/${CurrentResource}/FILES" RESOURCE_FILES)
set (CurrentResource_Directory "${CurrentResource}")
set (isResDirectory TRUE)
else()
string (REPLACE "." "_" CurrentResource_FileName "${CurrentResource_FileName}")
set (HEADER_FILE_NAME "${CurrentResource_Directory}_${CurrentResource_FileName}.pxx")
- message(STATUS "Info. Generating header file from resource file: ${CMAKE_SOURCE_DIR}/resources/${CurrentResource_Directory}/${RESOURCE_FILE}")
+ message(STATUS "Info. Generating header file from resource file: ${OCCT_ROOT_DIR}/resources/${CurrentResource_Directory}/${RESOURCE_FILE}")
# generate content for header file
set (OCCT_HEADER_FILE_CONTENT "// This file has been automatically generated from resource file resources/${CurrentResource_Directory}/${RESOURCE_FILE}\n\n")
# read resource file
- file (STRINGS "${CMAKE_SOURCE_DIR}/resources/${CurrentResource_Directory}/${RESOURCE_FILE}" RESOURCE_FILE_LINES_LIST)
+ file (STRINGS "${OCCT_ROOT_DIR}/resources/${CurrentResource_Directory}/${RESOURCE_FILE}" RESOURCE_FILE_LINES_LIST)
set (OCCT_HEADER_FILE_CONTENT "${OCCT_HEADER_FILE_CONTENT}static const char ${CurrentResource_Directory}_${CurrentResource_FileName}[] =")
foreach (line IN LISTS RESOURCE_FILE_LINES_LIST)
string (REPLACE "\"" "\\\"" line "${line}")
if (EXISTS "${HEADER_FILE}")
file (REMOVE "${HEADER_FILE}")
endif()
- configure_file ("${CMAKE_SOURCE_DIR}/adm/templates/header.in" "${HEADER_FILE}" @ONLY NEWLINE_STYLE LF)
+ configure_file ("${OCCT_ROOT_DIR}/adm/templates/header.in" "${HEADER_FILE}" @ONLY NEWLINE_STYLE LF)
endif()
endforeach()
endif()
set (USED_RCFILE "")
if (MSVC)
set (USED_RCFILE "${CMAKE_BINARY_DIR}/resources/${PROJECT_NAME}.rc")
- configure_file("${CMAKE_SOURCE_DIR}/adm/templates/occt_toolkit.rc.in" "${USED_RCFILE}" @ONLY)
+ configure_file("${OCCT_ROOT_DIR}/adm/templates/occt_toolkit.rc.in" "${USED_RCFILE}" @ONLY)
endif()
set (CURRENT_MODULE)
endmacro()
macro (FIND_AND_INSTALL_QT_RESOURCES OCCT_PACKAGE RESOURCE_FILES)
- file (STRINGS "${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}/FILES" TS_FILES REGEX ".+[.]ts")
- file (STRINGS "${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}/FILES" QRC_FILES REGEX ".+[.]qrc")
+ file (STRINGS "${OCCT_ROOT_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}/FILES" TS_FILES REGEX ".+[.]ts")
+ file (STRINGS "${OCCT_ROOT_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}/FILES" QRC_FILES REGEX ".+[.]qrc")
string (FIND "${OCCT_PACKAGE}" "/" _index)
if (_index GREATER -1)
#message("QRC files are: ${QRC_FILES} in ${OCCT_PACKAGE}")
foreach (QRC_FILE ${QRC_FILES})
- set (QRC_FILE_RELATIVE "${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}/${QRC_FILE}")
+ set (QRC_FILE_RELATIVE "${OCCT_ROOT_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}/${QRC_FILE}")
if (EXISTS ${QRC_FILE_RELATIVE})
FIND_AND_WRAP_RESOURCE_FILE(${QRC_FILE_RELATIVE} RCC_FILES)
list (APPEND ${RESOURCE_FILES} "${RCC_FILES}")
#message("TS files are: ${TS_FILES} in ${OCCT_PACKAGE}")
foreach (TS_FILE ${TS_FILES})
- set (TS_FILE_RELATIVE "${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}/${TS_FILE}")
+ set (TS_FILE_RELATIVE "${OCCT_ROOT_DIR}/${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}/${TS_FILE}")
FIND_AND_WRAP_TS_FILE(${TS_FILE_RELATIVE} "${TARGET_FOLDER}/${CURRENT_MODULE}" QM_FILES)
if (EXISTS ${TS_FILE_RELATIVE})
list (APPEND ${RESOURCE_FILES} "${TS_FILE_RELATIVE}")
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@X_COMPILER_BITNESS@'">
- <LocalDebuggerEnvironment>CASROOT=@CMAKE_SOURCE_DIR@
+ <LocalDebuggerEnvironment>CASROOT=@OCCT_ROOT_DIR@
CSF_FPE=@BUILD_ENABLE_FPE_SIGNAL_HANDLER@
-CSF_OCCTResourcePath=@CMAKE_SOURCE_DIR@/resources
-DRAWHOME=@CMAKE_SOURCE_DIR@/resources/DrawResources
-CSF_OCCTDataPath=@CMAKE_SOURCE_DIR@/data
-CSF_OCCTSamplesPath=@CMAKE_SOURCE_DIR@/samples
-CSF_OCCTTestsPath=@CMAKE_SOURCE_DIR@/tests
-CSF_OCCTDocPath=@CMAKE_SOURCE_DIR@/doc
+CSF_OCCTResourcePath=@OCCT_ROOT_DIR@/resources
+DRAWHOME=@OCCT_ROOT_DIR@/resources/DrawResources
+CSF_OCCTDataPath=@OCCT_ROOT_DIR@/data
+CSF_OCCTSamplesPath=@OCCT_ROOT_DIR@/samples
+CSF_OCCTTestsPath=@OCCT_ROOT_DIR@/tests
+CSF_OCCTDocPath=@OCCT_ROOT_DIR@/doc
PATH=@3RDPARTY_DLL_DIRS_FOR_PATH@;%PATH%
</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerWorkingDirectory>@CMAKE_BINARY_DIR@</LocalDebuggerWorkingDirectory>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='RelWithDebInfo|@X_COMPILER_BITNESS@'">
- <LocalDebuggerEnvironment>CASROOT=@CMAKE_SOURCE_DIR@
+ <LocalDebuggerEnvironment>CASROOT=@OCCT_ROOT_DIR@
CSF_FPE=@BUILD_ENABLE_FPE_SIGNAL_HANDLER@
-CSF_OCCTResourcePath=@CMAKE_SOURCE_DIR@/resources
-CSF_OCCTDataPath=@CMAKE_SOURCE_DIR@/data
-CSF_OCCTSamplesPath=@CMAKE_SOURCE_DIR@/samples
-CSF_OCCTTestsPath=@CMAKE_SOURCE_DIR@/tests
-CSF_OCCTDocPath=@CMAKE_SOURCE_DIR@/doc
+CSF_OCCTResourcePath=@OCCT_ROOT_DIR@/resources
+CSF_OCCTDataPath=@OCCT_ROOT_DIR@/data
+CSF_OCCTSamplesPath=@OCCT_ROOT_DIR@/samples
+CSF_OCCTTestsPath=@OCCT_ROOT_DIR@/tests
+CSF_OCCTDocPath=@OCCT_ROOT_DIR@/doc
PATH=@3RDPARTY_DLL_DIRS_FOR_PATH@;%PATH%
</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerWorkingDirectory>@CMAKE_BINARY_DIR@</LocalDebuggerWorkingDirectory>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@X_COMPILER_BITNESS@'">
- <LocalDebuggerEnvironment>CASROOT=@CMAKE_SOURCE_DIR@
+ <LocalDebuggerEnvironment>CASROOT=@OCCT_ROOT_DIR@
CSF_FPE=@BUILD_ENABLE_FPE_SIGNAL_HANDLER@
-DRAWHOME=@CMAKE_SOURCE_DIR@/resources/DrawResources
-CSF_OCCTResourcePath=@CMAKE_SOURCE_DIR@/resources
-CSF_OCCTDataPath=@CMAKE_SOURCE_DIR@/data
-CSF_OCCTSamplesPath=@CMAKE_SOURCE_DIR@/samples
-CSF_OCCTTestsPath=@CMAKE_SOURCE_DIR@/tests
-CSF_OCCTDocPath=@CMAKE_SOURCE_DIR@/doc
+DRAWHOME=@OCCT_ROOT_DIR@/resources/DrawResources
+CSF_OCCTResourcePath=@OCCT_ROOT_DIR@/resources
+CSF_OCCTDataPath=@OCCT_ROOT_DIR@/data
+CSF_OCCTSamplesPath=@OCCT_ROOT_DIR@/samples
+CSF_OCCTTestsPath=@OCCT_ROOT_DIR@/tests
+CSF_OCCTDocPath=@OCCT_ROOT_DIR@/doc
PATH=@3RDPARTY_DLL_DIRS_FOR_PATH@;%PATH%
</LocalDebuggerEnvironment>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
@OCCT_CUSTOM_BUILD_BIN_LIB_PATHS@
set "CSF_OCCTIncludePath=@CMAKE_BINARY_DIR@/@INSTALL_DIR_INCLUDE@"
- set "CSF_OCCTResourcePath=@CMAKE_SOURCE_DIR@/resources"
- set "CSF_OCCTDataPath=@CMAKE_SOURCE_DIR@/data"
- set "CSF_OCCTSamplesPath=@CMAKE_SOURCE_DIR@/samples"
- set "CSF_OCCTTestsPath=@CMAKE_SOURCE_DIR@/tests"
- set "CSF_OCCTDocPath=@CMAKE_SOURCE_DIR@/doc"
+ set "CSF_OCCTResourcePath=@OCCT_ROOT_DIR@/resources"
+ set "CSF_OCCTDataPath=@OCCT_ROOT_DIR@/data"
+ set "CSF_OCCTSamplesPath=@OCCT_ROOT_DIR@/samples"
+ set "CSF_OCCTTestsPath=@OCCT_ROOT_DIR@/tests"
+ set "CSF_OCCTDocPath=@OCCT_ROOT_DIR@/doc"
rem for compatibility with external application using CASROOT
- set "CASROOT=@CMAKE_SOURCE_DIR@"
+ set "CASROOT=@OCCT_ROOT_DIR@"
)
)
# multiple and single configuration builds
@OCCT_CUSTOM_BUILD_BIN_LIB_PATHS@
export CSF_OCCTIncludePath="@CMAKE_BINARY_DIR@/@INSTALL_DIR_INCLUDE@"
- export CSF_OCCTResourcePath="@CMAKE_SOURCE_DIR@/resources"
- export CSF_OCCTDataPath="@CMAKE_SOURCE_DIR@/data"
- export CSF_OCCTSamplesPath="@CMAKE_SOURCE_DIR@/samples"
- export CSF_OCCTTestsPath="@CMAKE_SOURCE_DIR@/tests"
- export CSF_OCCTDocPath="@CMAKE_SOURCE_DIR@/doc"
+ export CSF_OCCTResourcePath="@OCCT_ROOT_DIR@/resources"
+ export CSF_OCCTDataPath="@OCCT_ROOT_DIR@/data"
+ export CSF_OCCTSamplesPath="@OCCT_ROOT_DIR@/samples"
+ export CSF_OCCTTestsPath="@OCCT_ROOT_DIR@/tests"
+ export CSF_OCCTDocPath="@OCCT_ROOT_DIR@/doc"
# for compatibility with external application using CASROOT
- export CASROOT="@CMAKE_SOURCE_DIR@"
+ export CASROOT="@OCCT_ROOT_DIR@"
fi
fi
project (Overview)
# directory that contains all raw OCCT overview articles (markdown format)
-set (OCCT_OVERVIEW_DIR "${CMAKE_SOURCE_DIR}/dox")
+set (OCCT_OVERVIEW_DIR "${OCCT_ROOT_DIR}/dox")
# directory that contains resources for the generation of OCCT documentation
set (OCCT_OVERVIEW_RESOURCE_DIR "${OCCT_OVERVIEW_DIR}/resources")
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nPROJECT_NUMBER = ${OCC_VERSION_STRING_EXT}")
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nOUTPUT_DIRECTORY = ${OCCT_GENERATED_OVERVIEW_DIR}/.")
file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nPROJECT_LOGO = ${OCCT_OVERVIEW_DIR}/resources/occ_logo.png")
-file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nEXAMPLE_PATH = ${CMAKE_SOURCE_DIR}/src")
+file (APPEND ${OCCT_CONFIG_FOR_DOXYGEN} "\nEXAMPLE_PATH = ${OCCT_ROOT_DIR}/src")
set (OCCT_ARTICLE_PARAM_INPUT "INPUT =")
set (OCCT_ARTICLE_PARAM_IMAGEPATH "IMAGE_PATH = ${OCCT_OVERVIEW_DIR}/resources/ ")
project(IESample)
OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit_prepare_sample)
-include_directories("${CMAKE_SOURCE_DIR}/${RELATIVE_DIR}/Interface/src")
-include_directories("${CMAKE_SOURCE_DIR}/${RELATIVE_DIR}/Common/src")
+include_directories("${OCCT_ROOT_DIR}/${RELATIVE_DIR}/Interface/src")
+include_directories("${OCCT_ROOT_DIR}/${RELATIVE_DIR}/Common/src")
OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit)
OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit_prepare_sample)
project(OCCTOverview)
OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit_prepare_sample)
-include_directories("${CMAKE_SOURCE_DIR}/${RELATIVE_DIR}/../OCCTOverview/code")
+include_directories("${OCCT_ROOT_DIR}/${RELATIVE_DIR}/../OCCTOverview/code")
OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit)
OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit_prepare_sample)
project(Tutorial)
OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit_prepare_sample)
-include_directories("${CMAKE_SOURCE_DIR}/${RELATIVE_DIR}/Interface/src")
-include_directories("${CMAKE_SOURCE_DIR}/${RELATIVE_DIR}/Common/src")
+include_directories("${OCCT_ROOT_DIR}/${RELATIVE_DIR}/Interface/src")
+include_directories("${OCCT_ROOT_DIR}/${RELATIVE_DIR}/Common/src")
OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit)
OCCT_INCLUDE_CMAKE_FILE (adm/cmake/occt_toolkit_prepare_sample)