From 19286d7cf7e697e0ea70ff1bbfa3765c9b429a4f Mon Sep 17 00:00:00 2001 From: ibs Date: Thu, 2 Jul 2015 18:17:54 +0300 Subject: [PATCH] 0025114: CMake-based build tools for OCCT 7.0 All CMake meta-projects for OCCT are put to OCCT code (including fragments previously generated by WOK). "/bigobj" compiler flag added to TKQADraw because of the size of its object file [GeomToStep & Graphic3d] private headers are included from current dir of including source file --- .gitignore | 1 - CMakeLists.txt | 298 ++-- adm/MODULES | 7 + adm/RESOURCES | 11 + adm/{templates => cmake}/3rdparty_macro.cmake | 44 +- adm/cmake/BuildToolkit.cmake | 96 ++ adm/{templates => cmake}/freeimage.cmake | 0 adm/{templates => cmake}/freeimageplus.cmake | 0 adm/{templates => cmake}/freetype.cmake | 21 +- adm/{templates => cmake}/gl2ps.cmake | 0 adm/{templates => cmake}/glx.cmake | 0 .../occt_defs_flags.cmake | 6 +- adm/cmake/occt_gendoc.cmake | 1325 +++++++++++++++++ adm/{templates => cmake}/occt_macros.cmake | 116 +- adm/{templates => cmake}/opencl.cmake | 0 adm/{templates => cmake}/tbb.cmake | 30 +- adm/{templates => cmake}/tcl.cmake | 42 +- adm/{templates => cmake}/vtk.cmake | 8 +- adm/templates/custom.bat.in | 1 + adm/templates/custom.sh.in | 1 + adm/templates/draw.bat | 4 +- adm/templates/env.build.bat.in | 73 + adm/templates/env.build.sh.in | 119 ++ .../mfc/standard/01_Geometry/CMakeLists.txt | 2 +- .../mfc/standard/02_Modeling/CMakeLists.txt | 2 +- .../mfc/standard/03_Viewer2d/CMakeLists.txt | 2 +- .../mfc/standard/04_Viewer3d/CMakeLists.txt | 2 +- .../standard/05_ImportExport/CMakeLists.txt | 2 +- samples/mfc/standard/06_Ocaf/CMakeLists.txt | 2 +- .../standard/07_Triangulation/CMakeLists.txt | 2 +- samples/mfc/standard/08_HLR/CMakeLists.txt | 2 +- .../mfc/standard/09_Animation/CMakeLists.txt | 2 +- .../mfc/standard/10_Convert/CMakeLists.txt | 2 +- samples/mfc/standard/mfcsample/CMakeLists.txt | 6 +- src/Aspect/EXTERNLIB | 1 - src/Aspect/FILES | 1 - src/BRepMesh/EXTERNLIB | 1 - src/BRepMesh/FILES | 1 - src/CDF/EXTERNLIB | 0 src/CDF/FILES | 1 - src/Cocoa/EXTERNLIB | 3 - src/Cocoa/FILES | 1 - src/DDataStd/EXTERNLIB | 1 - src/DDataStd/FILES | 1 - src/DRAWEXE/CMakeLists.txt | 9 + src/Draw/EXTERNLIB | 9 - src/Draw/FILES | 1 - src/FWOSPlugin/CMakeLists.txt | 7 + src/Font/EXTERNLIB | 1 - src/Font/FILES | 1 - .../GeomToStep_MakeAxis1Placement.cxx | 8 +- .../GeomToStep_MakeBSplineCurveWithKnots.cxx | 4 +- ...eCurveWithKnotsAndRationalBSplineCurve.cxx | 4 +- src/GeomToStep/GeomToStep_MakeCircle.cxx | 4 +- src/GeomToStep/GeomToStep_MakeEllipse.cxx | 4 +- src/GeomToStep/GeomToStep_MakeLine.cxx | 8 +- src/GeomToStep/GeomToStep_MakePolyline.cxx | 4 +- src/GeomToStep/GeomToStep_MakeVector.cxx | 8 +- src/Graphic3d/Graphic3d_CStructure.cxx | 2 +- src/Graphic3d/Graphic3d_Group.cxx | 2 +- src/Graphic3d/Graphic3d_Structure.cxx | 2 +- src/Graphic3d/Graphic3d_Structure.pxx | 2 +- src/Graphic3d/Graphic3d_StructureManager.cxx | 4 +- src/IVtkDraw/EXTERNLIB | 1 - src/IVtkDraw/FILES | 1 - src/IVtkTools/EXTERNLIB | 1 - src/IVtkTools/FILES | 1 - src/IVtkVTK/EXTERNLIB | 1 - src/IVtkVTK/FILES | 1 - src/Image/EXTERNLIB | 1 - src/Image/FILES | 1 - src/OSD/EXTERNLIB | 1 - src/OSD/FILES | 1 - src/OpenGl/EXTERNLIB | 11 - src/OpenGl/FILES | 1 - src/QABugs/EXTERNLIB | 1 - src/QABugs/FILES | 1 - src/QADraw/EXTERNLIB | 6 - src/QADraw/FILES | 1 - src/STEPConstruct/EXTERNLIB | 1 - src/STEPConstruct/FILES | 1 - src/Standard/EXTERNLIB | 4 - src/Standard/FILES | 1 - src/TKBO/CMakeLists.txt | 12 + src/TKBRep/CMakeLists.txt | 14 + src/TKBin/CMakeLists.txt | 10 + src/TKBinL/CMakeLists.txt | 12 + src/TKBinTObj/CMakeLists.txt | 7 + src/TKBinXCAF/CMakeLists.txt | 8 + src/TKBool/CMakeLists.txt | 13 + src/TKCAF/CMakeLists.txt | 10 + src/TKCDF/CMakeLists.txt | 11 + src/TKDCAF/CMakeLists.txt | 12 + src/TKDraw/CMakeLists.txt | 37 + src/TKFeat/CMakeLists.txt | 8 + src/TKFillet/CMakeLists.txt | 15 + src/TKG2d/CMakeLists.txt | 13 + src/TKG3d/CMakeLists.txt | 14 + src/TKGeomAlgo/CMakeLists.txt | 39 + src/TKGeomBase/CMakeLists.txt | 28 + src/TKHLR/CMakeLists.txt | 14 + src/TKIGES/CMakeLists.txt | 24 + src/TKIVtk/CMakeLists.txt | 19 + src/TKIVtkDraw/CMakeLists.txt | 16 + src/TKLCAF/CMakeLists.txt | 11 + src/TKMath/CMakeLists.txt | 24 + src/TKMesh/CMakeLists.txt | 14 + src/TKMeshVS/CMakeLists.txt | 7 + src/TKOffset/CMakeLists.txt | 10 + src/TKOpenGl/CMakeLists.txt | 40 + src/TKPrim/CMakeLists.txt | 10 + src/TKQADraw/CMakeLists.txt | 31 + src/TKSTEP/CMakeLists.txt | 23 + src/TKSTEP209/CMakeLists.txt | 10 + src/TKSTEPAttr/CMakeLists.txt | 10 + src/TKSTEPBase/CMakeLists.txt | 14 + src/TKSTL/CMakeLists.txt | 10 + src/TKService/CMakeLists.txt | 58 + src/TKShHealing/CMakeLists.txt | 20 + src/TKTObj/CMakeLists.txt | 7 + src/TKTObjDRAW/CMakeLists.txt | 7 + src/TKTopAlgo/CMakeLists.txt | 22 + src/TKTopTest/CMakeLists.txt | 17 + src/TKV3d/CMakeLists.txt | 37 + src/TKVRML/CMakeLists.txt | 10 + src/TKViewerTest/CMakeLists.txt | 39 + src/TKVoxel/CMakeLists.txt | 7 + src/TKXCAF/CMakeLists.txt | 9 + src/TKXDEDRAW/CMakeLists.txt | 7 + src/TKXDEIGES/CMakeLists.txt | 7 + src/TKXDESTEP/CMakeLists.txt | 7 + src/TKXMesh/CMakeLists.txt | 7 + src/TKXSBase/CMakeLists.txt | 22 + src/TKXSDRAW/CMakeLists.txt | 10 + src/TKXml/CMakeLists.txt | 10 + src/TKXmlL/CMakeLists.txt | 12 + src/TKXmlTObj/CMakeLists.txt | 7 + src/TKXmlXCAF/CMakeLists.txt | 8 + src/TKernel/CMakeLists.txt | 39 + src/V3d/EXTERNLIB | 1 - src/V3d/FILES | 1 - src/ViewerTest/EXTERNLIB | 4 - src/ViewerTest/FILES | 1 - src/Visual3d/EXTERNLIB | 1 - src/Visual3d/FILES | 1 - src/Xw/EXTERNLIB | 2 - src/Xw/FILES | 1 - 147 files changed, 3001 insertions(+), 292 deletions(-) create mode 100644 adm/MODULES create mode 100644 adm/RESOURCES rename adm/{templates => cmake}/3rdparty_macro.cmake (92%) create mode 100644 adm/cmake/BuildToolkit.cmake rename adm/{templates => cmake}/freeimage.cmake (100%) rename adm/{templates => cmake}/freeimageplus.cmake (100%) rename adm/{templates => cmake}/freetype.cmake (93%) rename adm/{templates => cmake}/gl2ps.cmake (100%) rename adm/{templates => cmake}/glx.cmake (100%) rename adm/{templates => cmake}/occt_defs_flags.cmake (91%) create mode 100644 adm/cmake/occt_gendoc.cmake rename adm/{templates => cmake}/occt_macros.cmake (56%) rename adm/{templates => cmake}/opencl.cmake (100%) rename adm/{templates => cmake}/tbb.cmake (88%) rename adm/{templates => cmake}/tcl.cmake (95%) rename adm/{templates => cmake}/vtk.cmake (98%) create mode 100644 adm/templates/env.build.bat.in create mode 100644 adm/templates/env.build.sh.in delete mode 100644 src/Aspect/EXTERNLIB delete mode 100755 src/BRepMesh/EXTERNLIB delete mode 100755 src/CDF/EXTERNLIB delete mode 100755 src/Cocoa/EXTERNLIB delete mode 100755 src/DDataStd/EXTERNLIB create mode 100644 src/DRAWEXE/CMakeLists.txt delete mode 100755 src/Draw/EXTERNLIB create mode 100644 src/FWOSPlugin/CMakeLists.txt delete mode 100644 src/Font/EXTERNLIB delete mode 100644 src/IVtkDraw/EXTERNLIB delete mode 100644 src/IVtkTools/EXTERNLIB delete mode 100644 src/IVtkVTK/EXTERNLIB delete mode 100644 src/Image/EXTERNLIB delete mode 100755 src/OSD/EXTERNLIB delete mode 100755 src/OpenGl/EXTERNLIB delete mode 100755 src/QABugs/EXTERNLIB delete mode 100644 src/QADraw/EXTERNLIB delete mode 100755 src/STEPConstruct/EXTERNLIB delete mode 100755 src/Standard/EXTERNLIB create mode 100644 src/TKBO/CMakeLists.txt create mode 100644 src/TKBRep/CMakeLists.txt create mode 100644 src/TKBin/CMakeLists.txt create mode 100644 src/TKBinL/CMakeLists.txt create mode 100644 src/TKBinTObj/CMakeLists.txt create mode 100644 src/TKBinXCAF/CMakeLists.txt create mode 100644 src/TKBool/CMakeLists.txt create mode 100644 src/TKCAF/CMakeLists.txt create mode 100644 src/TKCDF/CMakeLists.txt create mode 100644 src/TKDCAF/CMakeLists.txt create mode 100644 src/TKDraw/CMakeLists.txt create mode 100644 src/TKFeat/CMakeLists.txt create mode 100644 src/TKFillet/CMakeLists.txt create mode 100644 src/TKG2d/CMakeLists.txt create mode 100644 src/TKG3d/CMakeLists.txt create mode 100644 src/TKGeomAlgo/CMakeLists.txt create mode 100644 src/TKGeomBase/CMakeLists.txt create mode 100644 src/TKHLR/CMakeLists.txt create mode 100644 src/TKIGES/CMakeLists.txt create mode 100644 src/TKIVtk/CMakeLists.txt create mode 100644 src/TKIVtkDraw/CMakeLists.txt create mode 100644 src/TKLCAF/CMakeLists.txt create mode 100644 src/TKMath/CMakeLists.txt create mode 100644 src/TKMesh/CMakeLists.txt create mode 100644 src/TKMeshVS/CMakeLists.txt create mode 100644 src/TKOffset/CMakeLists.txt create mode 100644 src/TKOpenGl/CMakeLists.txt create mode 100644 src/TKPrim/CMakeLists.txt create mode 100644 src/TKQADraw/CMakeLists.txt create mode 100644 src/TKSTEP/CMakeLists.txt create mode 100644 src/TKSTEP209/CMakeLists.txt create mode 100644 src/TKSTEPAttr/CMakeLists.txt create mode 100644 src/TKSTEPBase/CMakeLists.txt create mode 100644 src/TKSTL/CMakeLists.txt create mode 100644 src/TKService/CMakeLists.txt create mode 100644 src/TKShHealing/CMakeLists.txt create mode 100644 src/TKTObj/CMakeLists.txt create mode 100644 src/TKTObjDRAW/CMakeLists.txt create mode 100644 src/TKTopAlgo/CMakeLists.txt create mode 100644 src/TKTopTest/CMakeLists.txt create mode 100644 src/TKV3d/CMakeLists.txt create mode 100644 src/TKVRML/CMakeLists.txt create mode 100644 src/TKViewerTest/CMakeLists.txt create mode 100644 src/TKVoxel/CMakeLists.txt create mode 100644 src/TKXCAF/CMakeLists.txt create mode 100644 src/TKXDEDRAW/CMakeLists.txt create mode 100644 src/TKXDEIGES/CMakeLists.txt create mode 100644 src/TKXDESTEP/CMakeLists.txt create mode 100644 src/TKXMesh/CMakeLists.txt create mode 100644 src/TKXSBase/CMakeLists.txt create mode 100644 src/TKXSDRAW/CMakeLists.txt create mode 100644 src/TKXml/CMakeLists.txt create mode 100644 src/TKXmlL/CMakeLists.txt create mode 100644 src/TKXmlTObj/CMakeLists.txt create mode 100644 src/TKXmlXCAF/CMakeLists.txt create mode 100644 src/TKernel/CMakeLists.txt delete mode 100644 src/V3d/EXTERNLIB delete mode 100755 src/ViewerTest/EXTERNLIB delete mode 100755 src/Visual3d/EXTERNLIB delete mode 100755 src/Xw/EXTERNLIB diff --git a/.gitignore b/.gitignore index 022baf36b2..51b72b1822 100644 --- a/.gitignore +++ b/.gitignore @@ -28,7 +28,6 @@ Release /adm/lin /adm/mac /adm/make -/adm/cmake *.vcproj*user *.csproj*user *.ncb diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a9ecf10b9..daf12528cc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required (VERSION 2.8.10 FATAL_ERROR) +cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR) set (CMAKE_SUPPRESS_REGENERATION TRUE) @@ -28,16 +28,48 @@ project (OCCT) # Solution folder property set_property (GLOBAL PROPERTY USE_FOLDERS ON) +# Generate documentation +# Overview and User Guides +set (DOC_GENERATE_OVERVIEW OFF CACHE BOOL "Generate Overview and User Guides") +if (NOT DOC_OVERVIEW_OUTPUT_FORMAT) + set (DOC_OVERVIEW_OUTPUT_FORMAT "html" CACHE STRING "Output format of Overview and User Guides" FORCE) + SET_PROPERTY (CACHE DOC_OVERVIEW_OUTPUT_FORMAT PROPERTY STRINGS html chm pdf) +endif() +# class Reference Manual +set (DOC_GENERATE_REFMAN OFF CACHE BOOL "Generate class Reference Manual") + +# 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" ) + +# 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() + +# group include files in folder install +set (INSTALL_GROUP_INC ON CACHE BOOL "In include files grouped in install folder") + +# copy samples to install directory +set (INSTALL_SAMPLES OFF CACHE BOOL "Copy samples to install directory") + set (CMAKE_BUILD_TYPE ${BUILD_CONFIGURATION} CACHE INTERNAL "Build type of OCCT" FORCE ) # install dir of the built project set (INSTALL_DIR "" CACHE PATH "Directory that will contain install files of OCCT" ) set (CMAKE_INSTALL_PREFIX "${INSTALL_DIR}" CACHE INTERNAL "" FORCE ) -# whether install test bundle or not -set (INSTALL_TESTS OFF CACHE BOOL "Is tests copy to install directory") - -set (BUILD_PATCH_DIR "" CACHE PATH "directory with OCCT patch") +set (BUILD_PATCH_DIR "" CACHE PATH "directory with occt patch") # the list of being built toolkits set (BUILD_TOOLKITS "" CACHE STRING "Toolkits are also included in OCCT") @@ -58,34 +90,68 @@ 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") + #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) + include (${BUILD_PATCH_DIR}/${BEING_INCLUDED_FILE}.cmake) else() - include(${BEING_INCLUDED_FILE}.cmake) + include (${BEING_INCLUDED_FILE}.cmake) endif() endmacro() # include occt macros -OCCT_INCLUDE_CMAKE_FILE ("adm/templates/occt_macros") +OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros") # BUILD_POSTFIX variable is used by all toolkit cmakelists.txt projects OCCT_MAKE_BUILD_POSTFIX() # include the patched or original list of modules -OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_modules") +# list _TOOLKITS is created foreach module and contains its toolkits +# list will contain all modules +OCCT_MODULES_AND_TOOLKITS (OCCT_MODULES) -# include the list of being used toolkits. USED_TOOLKITS variable -OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_toolkits") +foreach (MODULE ${OCCT_MODULES}) + set (BUILD_${MODULE} ON CACHE BOOL "include ${MODULE}") +endforeach() + +if (NOT USE_VTK) + list (REMOVE_ITEM Visualization_TOOLKITS TKIVtk) + list (REMOVE_ITEM Draw_TOOLKITS TKIVtkDraw) +endif() + +# accumulate used toolkits (first level) in USED_TOOLKITS variable +list (APPEND USED_TOOLKITS ${BUILD_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 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 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_USED_TOOLKIT) +set (USED_TOOLKITS ${RAW_USED_TOOLKIT}) # include the patched or original list of definitions and flags -OCCT_INCLUDE_CMAKE_FILE ("adm/templates/occt_defs_flags") +OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_defs_flags") -OCCT_INCLUDE_CMAKE_FILE ("adm/templates/3rdparty_macro") +OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/3rdparty_macro") set (3RDPARTY_DIR_LABEL "The directory containing required 3rdparty products") if (NOT DEFINED 3RDPARTY_DIR) @@ -108,7 +174,7 @@ OCCT_IS_PRODUCT_REQUIRED(CSF_TclLibs USE_TCL) if ("${USE_TCL}" STREQUAL ON) message (STATUS "Info: tcl is used by OCCT") - OCCT_INCLUDE_CMAKE_FILE ("adm/templates/tcl") + OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tcl") else() OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TCL") OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TK") @@ -119,7 +185,7 @@ OCCT_IS_PRODUCT_REQUIRED(CSF_FREETYPE USE_FREETYPE) if ("${USE_FREETYPE}" STREQUAL ON) message (STATUS "Info: freetype is used by OCCT") - OCCT_INCLUDE_CMAKE_FILE ("adm/templates/freetype") + OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/freetype") else() OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_FREETYPE") OCCT_CHECK_AND_UNSET ("3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2") @@ -129,20 +195,20 @@ endif() # VTK if (USE_VTK) add_definitions (-DHAVE_VTK) - OCCT_INCLUDE_CMAKE_FILE ("adm/templates/vtk") + OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/vtk") endif() # GLX if (USE_GLX) add_definitions (-DMACOSX_USE_GLX) - OCCT_INCLUDE_CMAKE_FILE ("adm/templates/glx") + OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/glx") endif() # FREEIMAGE if (USE_FREEIMAGE) add_definitions (-DHAVE_FREEIMAGE) - OCCT_INCLUDE_CMAKE_FILE ("adm/templates/freeimage") - OCCT_INCLUDE_CMAKE_FILE ("adm/templates/freeimageplus") + 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") @@ -153,27 +219,27 @@ endif() # GL2PS if (USE_GL2PS) add_definitions (-DHAVE_GL2PS) - OCCT_INCLUDE_CMAKE_FILE ("adm/templates/gl2ps") + OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/gl2ps") else() 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/templates/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() +#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 if (USE_TBB) add_definitions (-DHAVE_TBB) - OCCT_INCLUDE_CMAKE_FILE ("adm/templates/tbb") + OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/tbb") else() OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBB") OCCT_CHECK_AND_UNSET_GROUP ("3RDPARTY_TBBMALLOC") @@ -201,21 +267,43 @@ if (3RDPARTY_LIBRARY_DIRS) link_directories (${3RDPARTY_LIBRARY_DIRS}) endif() +# Get all used variables: OS_WITH_BIT, COMPILER, BUILD_POSTFIX OCCT_MAKE_BUILD_POSTFIX() +OCCT_MAKE_OS_WITH_BITNESS() +OCCT_MAKE_COMPILER_SHORT_NAME() # build directories -set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out/lib${BUILD_POSTFIX}) -set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out/lib${BUILD_POSTFIX}) -set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out/bin${BUILD_POSTFIX}) +string (TOUPPER "${BUILD_CONFIGURATION}" TAIL_OF_OUTPUT_VARNAME) + +set (OUTPUT_LIBRARY_DIR ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}) +set (OUTPUT_BINARY_DIR ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}) + +set ("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${TAIL_OF_OUTPUT_VARNAME}" "${OUTPUT_LIBRARY_DIR}") +set ("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${TAIL_OF_OUTPUT_VARNAME}" "${OUTPUT_BINARY_DIR}") +set ("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${TAIL_OF_OUTPUT_VARNAME}" "${OUTPUT_LIBRARY_DIR}") + +if (WIN32) + set ("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${TAIL_OF_OUTPUT_VARNAME}" "${OUTPUT_BINARY_DIR}") +endif() if ("${INSTALL_DIR}" STREQUAL "") message (FATAL_ERROR "INSTALL_DIR variable is empty. It's required to define installation directory") else() + # inc,data,tests DIRECTORY - install (DIRECTORY "${CMAKE_SOURCE_DIR}/inc" DESTINATION "${INSTALL_DIR}") + file (GLOB DIRS RELATIVE ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/*) + foreach(CDIR ${DIRS}) + file(GLOB HFiles "${CMAKE_SOURCE_DIR}/src/${CDIR}/*.[hgl]xx" "${CMAKE_SOURCE_DIR}/src/${CDIR}/*.h") + set (GROUP_CDIR "") + if (INSTALL_GROUP_INC) + set (GROUP_CDIR ${CDIR}) + endif() + install(FILES ${HFiles} DESTINATION "${INSTALL_DIR}/inc/${GROUP_CDIR}") + endforeach(CDIR) + install (DIRECTORY "${CMAKE_SOURCE_DIR}/data" DESTINATION "${INSTALL_DIR}") install (DIRECTORY "${CMAKE_SOURCE_DIR}/samples/tcl" DESTINATION "${INSTALL_DIR}/samples") - if (INSTALL_TESTS) + if (TESTS_INSTALL) install (DIRECTORY "${CMAKE_SOURCE_DIR}/tests" DESTINATION "${INSTALL_DIR}" ) endif() @@ -223,15 +311,25 @@ else() if (NOT "${BUILD_PATCH_DIR}" STREQUAL "") if (EXISTS "${BUILD_PATCH_DIR}/inc") install (DIRECTORY "${BUILD_PATCH_DIR}/inc" DESTINATION "${INSTALL_DIR}" ) + else() + file (GLOB DIRS RELATIVE ${BUILD_PATCH_DIR}/src ${BUILD_PATCH_DIR}/src/*) + foreach(CDIR ${DIRS}) + file(GLOB HFiles "${BUILD_PATCH_DIR}/src/${CDIR}/*.[hgl]xx" "${BUILD_PATCH_DIR}/src/${CDIR}/*.h") + if (INSTALL_GROUP_INC) + install(FILES ${HFiles} DESTINATION "${INSTALL_DIR}/inc/${CDIR}") + else() + install(FILES ${HFiles} DESTINATION "${INSTALL_DIR}/inc") + endif() + endforeach(CDIR) endif() if (EXISTS "${BUILD_PATCH_DIR}/data") install (DIRECTORY "${BUILD_PATCH_DIR}/data" DESTINATION "${INSTALL_DIR}" ) endif() - if (INSTALL_TESTS) + if (TESTS_INSTALL) if (EXISTS "${BUILD_PATCH_DIR}/tests") - install (DIRECTORY "${BUILD_PATCH_DIR}/tests" DESTINATION "${INSTALL_DIR}" ) + install (DIRECTORY "${BUILD_PATCH_DIR}/tests" DESTINATION "${INSTALL_DIR}" ) endif() endif() endif() @@ -242,29 +340,48 @@ 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() + + # Creation of "GenerateDocumentation" project + if (DOC_GENERATE_OVERVIEW OR DOC_GENERATE_REFMAN) + OCCT_INCLUDE_CMAKE_FILE("adm/cmake/occt_gendoc") + if(DOC_GENERATE_OVERVIEW) + gendoc(-overview -${DOC_OVERVIEW_OUTPUT_FORMAT}) + endif() + if(DOC_GENERATE_REFMAN) + gendoc(-refman -html) + endif() + endif() + + # DRAW.BAT or DRAW.SH - IF(NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}/adm/templates/draw.${SCRIPT_EXT}") + 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() + else() install(FILES "${CMAKE_SOURCE_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) - ENDIF() - - # set compiler short name - OCCT_MAKE_COMPILER_SHORT_NAME() - - OCCT_MAKE_COMPILER_BITNESS() + endif() + OCCT_COPY_FILE_OR_DIR ("adm/templates/draw.${SCRIPT_EXT}" "${CMAKE_BINARY_DIR}") - SET(SUB_CUSTOM "custom_${COMPILER}_${COMPILER_BITNESS}_${BUILD_POSTFIX}.${SCRIPT_EXT}") + set (SUB_CUSTOM "custom_${COMPILER}_${COMPILER_BITNESS}.${SCRIPT_EXT}") + if ("${BUILD_CONFIGURATION}" STREQUAL "Debug") + set (SUB_CUSTOM "custom_${COMPILER}_${COMPILER_BITNESS}_${BUILD_POSTFIX}.${SCRIPT_EXT}") + endif() if (WIN32) - SET (ADDITIONAL_CUSTOM_CONTENT "\nif exist \"%~dp0${SUB_CUSTOM}\" (\n call \"%~dp0${SUB_CUSTOM}\" %1 %2 %3 \n)") + set (ADDITIONAL_CUSTOM_CONTENT "\nif exist \"%~dp0${SUB_CUSTOM}\" (\n call \"%~dp0${SUB_CUSTOM}\" %1 %2 %3 \n)") else() - SET (ADDITIONAL_CUSTOM_CONTENT "\nif [ -e \"\${aScriptPath}/${SUB_CUSTOM}\" ]; then\n source \"\${aScriptPath}/${SUB_CUSTOM}\" \"\${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 + # change custom.bat/sh if (EXISTS "${INSTALL_DIR}/custom.${SCRIPT_EXT}") file (READ "${INSTALL_DIR}/custom.${SCRIPT_EXT}" CUSTOM_CONTENT) @@ -275,68 +392,49 @@ else() OCCT_CONFIGURE_AND_INSTALL ("adm/templates/custom.${SCRIPT_EXT}.main" "custom.${SCRIPT_EXT}" "${INSTALL_DIR}") endif() + # write current custom.bat/sh OCCT_CONFIGURE_AND_INSTALL ("adm/templates/custom.${SCRIPT_EXT}.in" "${SUB_CUSTOM}" "${INSTALL_DIR}") 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}") endif() - OCCT_CONFIGURE_AND_INSTALL ("adm/templates/env.${SCRIPT_EXT}.in" "env.${SCRIPT_EXT}" "${INSTALL_DIR}") + OCCT_CONFIGURE ("adm/templates/env.build.${SCRIPT_EXT}.in" "env.${SCRIPT_EXT}") + 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}") endif() # RESOURCES -OCCT_INSTALL_FILE_OR_DIR ("src/DrawResources" "${INSTALL_DIR}/src") -OCCT_INSTALL_FILE_OR_DIR ("src/StdResource" "${INSTALL_DIR}/src") -OCCT_INSTALL_FILE_OR_DIR ("src/SHMessage" "${INSTALL_DIR}/src") -OCCT_INSTALL_FILE_OR_DIR ("src/Textures" "${INSTALL_DIR}/src") -OCCT_INSTALL_FILE_OR_DIR ("src/Shaders" "${INSTALL_DIR}/src") -OCCT_INSTALL_FILE_OR_DIR ("src/XSMessage" "${INSTALL_DIR}/src") -OCCT_INSTALL_FILE_OR_DIR ("src/XSTEPResource" "${INSTALL_DIR}/src") -OCCT_INSTALL_FILE_OR_DIR ("src/XmlOcafResource" "${INSTALL_DIR}/src") - -OCCT_INSTALL_FILE_OR_DIR ("src/UnitsAPI/Lexi_Expr.dat" "${INSTALL_DIR}/src/UnitsAPI") -OCCT_INSTALL_FILE_OR_DIR ("src/UnitsAPI/Units.dat" "${INSTALL_DIR}/src/UnitsAPI") -OCCT_INSTALL_FILE_OR_DIR ("src/TObj/TObj.msg" "${INSTALL_DIR}/src/TObj") - - -#Toolkits uses variables: INSTALL_DIR, OS_WITH_BIT, COMPILER, BUILD_POSTFIX -OCCT_MAKE_OS_WITH_BITNESS() - -# consider for patch existence -set (IS_PATCH_CURRENT "NO") -set (TK_ROOT_DIR ${CMAKE_SOURCE_DIR}) -if (NOT "${BUILD_PATCH_DIR}" STREQUAL "") - set (IS_PATCH_CURRENT "YES") - set (TK_ROOT_DIR ${BUILD_PATCH_DIR}) -endif() +FILE_TO_LIST ("adm/RESOURCES" RESOURCES) +foreach(RESOURCE ${RESOURCES}) + get_filename_component(RESOURCE_FOLDER ${RESOURCE} DIRECTORY) + if(NOT "${RESOURCE_FOLDER}" STREQUAL "") + get_filename_component(RESOURCE_FOLDER ${RESOURCE_FOLDER} NAME) + OCCT_INSTALL_FILE_OR_DIR ("src/${RESOURCE}" "${INSTALL_DIR}/src/${RESOURCE_FOLDER}") + else() + OCCT_INSTALL_FILE_OR_DIR ("src/${RESOURCE}" "${INSTALL_DIR}/src") + endif() +endforeach() # include patched toolkit projects or original ones -set (UNSUBDIRS "") -if (NOT "${BUILD_PATCH_DIR}" STREQUAL "" AND EXISTS "${BUILD_PATCH_DIR}/adm/cmake/occt_inc_toolkits.cmake") - set (TK_ROOT_DIR ${BUILD_PATCH_DIR}) - include (${BUILD_PATCH_DIR}/adm/cmake/occt_inc_toolkits.cmake) -else() - set (IS_PATCH_CURRENT "NO") - set (TK_ROOT_DIR ${CMAKE_SOURCE_DIR}) - include (adm/cmake/occt_inc_toolkits.cmake) -endif() - -# include some required original occt_inc_toolkits -if (NOT "${UNSUBDIRS}" STREQUAL "") - set (IS_PATCH_CURRENT "NO") - # add required subdirs - foreach (UNSUBDIR ${UNSUBDIRS}) - add_subdirectory (${CMAKE_SOURCE_DIR}/${UNSUBDIR}) - endforeach() -endif() +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() # samples do not support patch usage -IF (BUILD_MFC_SAMPLES) - SET (OCCT_ROOT ${CMAKE_SOURCE_DIR}) +if (BUILD_MFC_SAMPLES) + set (OCCT_ROOT ${CMAKE_SOURCE_DIR}) - SET (MFC_STANDARD_SAMPLES_DIR ${OCCT_ROOT}/samples/mfc/standard) - SET (COMMON_WINMAIN_FILE ${MFC_STANDARD_SAMPLES_DIR}/Common/Winmain.cpp) + set (MFC_STANDARD_SAMPLES_DIR ${OCCT_ROOT}/samples/mfc/standard) + set (COMMON_WINMAIN_FILE ${MFC_STANDARD_SAMPLES_DIR}/Common/Winmain.cpp) add_subdirectory(samples/mfc/standard/mfcsample) add_subdirectory(samples/mfc/standard/01_Geometry) @@ -349,4 +447,8 @@ IF (BUILD_MFC_SAMPLES) add_subdirectory(samples/mfc/standard/08_HLR) add_subdirectory(samples/mfc/standard/09_Animation) add_subdirectory(samples/mfc/standard/10_Convert) -ENDIF() +endif() + +if (INSTALL_SAMPLES) + OCCT_INSTALL_FILE_OR_DIR ("samples" "${INSTALL_DIR}") +endif() diff --git a/adm/MODULES b/adm/MODULES new file mode 100644 index 0000000000..566647483f --- /dev/null +++ b/adm/MODULES @@ -0,0 +1,7 @@ +FoundationClasses TKernel TKMath +ModelingData TKG2d TKG3d TKGeomBase TKBRep +ModelingAlgorithms TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing +Visualization TKService TKV3d TKOpenGl TKMeshVS TKVoxel TKIVtk +ApplicationFramework TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml FWOSPlugin TKTObj TKBinTObj TKXmlTObj +DataExchange TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF +Draw TKDraw TKTopTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE \ No newline at end of file diff --git a/adm/RESOURCES b/adm/RESOURCES new file mode 100644 index 0000000000..a16bc80ec1 --- /dev/null +++ b/adm/RESOURCES @@ -0,0 +1,11 @@ +DrawResources +StdResource +SHMessage +Textures +Shaders +XSMessage +XSTEPResource +XmlOcafResource +UnitsAPI/Lexi_Expr.dat +UnitsAPI/Units.dat +TObj/TObj.msg \ No newline at end of file diff --git a/adm/templates/3rdparty_macro.cmake b/adm/cmake/3rdparty_macro.cmake similarity index 92% rename from adm/templates/3rdparty_macro.cmake rename to adm/cmake/3rdparty_macro.cmake index 9e47a497a0..bd97520eea 100644 --- a/adm/templates/3rdparty_macro.cmake +++ b/adm/cmake/3rdparty_macro.cmake @@ -1,7 +1,7 @@ # # include occt macros. compiler_bitness, os_wiht_bit, compiler and build_postfix -OCCT_INCLUDE_CMAKE_FILE ("adm/templates/occt_macros") +OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros") macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEBUG) @@ -34,7 +34,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB NO_DEFAULT_PATH) find_path (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR ${HEADER_NAME}) endif() - + if (NOT 3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR OR NOT EXISTS "${3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR}") set (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR "" CACHE FILEPATH "The directory containing the headers of the ${PRODUCT_NAME}" FORCE) endif() @@ -55,7 +55,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB # first of all, search for debug version of a library if build type is debug if (DEFINED IS_BUILD_DEBUG) find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY ${LIBRARY_NAME_DEBUG} - PATHS + PATHS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}" "${3RDPARTY_${PRODUCT_NAME}_DIR}/lib" "${3RDPARTY_${PRODUCT_NAME}_DIR}/libd" @@ -73,7 +73,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB message (STATUS "Warning: debug version of ${PRODUCT_NAME} library isn't found (${LIBRARY_NAME_DEBUG}) in ${3RDPARTY_${PRODUCT_NAME}_DIR}/lib(d). Search for release one") endif() - find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY ${LIBRARY_NAME} PATHS + find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY ${LIBRARY_NAME} PATHS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}" "${3RDPARTY_${PRODUCT_NAME}_DIR}/lib" ${3RDPARTY_${PRODUCT_NAME}_ADDITIONAL_PATH_FOR_LIB} @@ -82,21 +82,21 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB find_library (3RDPARTY_${PRODUCT_NAME}_LIBRARY ${LIBRARY_NAME}) endif() endif() - + if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR) set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR "" CACHE FILEPATH "The directory containing ${PRODUCT_NAME} library" FORCE) endif() - + # library path if (3RDPARTY_${PRODUCT_NAME}_LIBRARY AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_LIBRARY}") get_filename_component (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR "${3RDPARTY_${PRODUCT_NAME}_LIBRARY}" PATH) set (3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}" CACHE FILEPATH "The directory containing ${PRODUCT_NAME} library" FORCE) endif() - + # search for shared library (just for win case) if (WIN32) set (CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".dll") - + if (NOT 3RDPARTY_${PRODUCT_NAME}_DLL_DIR) set (3RDPARTY_${PRODUCT_NAME}_DLL "" CACHE FILEPATH "${PRODUCT_NAME} shared library" FORCE) elseif (3RDPARTY_${PRODUCT_NAME}_DLL AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL}") @@ -117,7 +117,7 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB "${3RDPARTY_${PRODUCT_NAME}_DIR}/bind" ${3RDPARTY_${PRODUCT_NAME}_ADDITIONAL_PATH_FOR_DLL} NO_DEFAULT_PATH) - + # second search if previous one do not find anything find_library (3RDPARTY_${PRODUCT_NAME}_DLL "${LIBRARY_NAME_DEBUG}") endif() @@ -134,23 +134,23 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB "${3RDPARTY_${PRODUCT_NAME}_DIR}/bin" ${3RDPARTY_${PRODUCT_NAME}_ADDITIONAL_PATH_FOR_DLL} NO_DEFAULT_PATH) - + # second search if previous one do not find anything find_library (3RDPARTY_${PRODUCT_NAME}_DLL "${LIBRARY_NAME}") endif() endif() - + if (NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DLL_DIR) set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR "" CACHE FILEPATH "The directory containing ${PRODUCT_NAME} shared library" FORCE) endif() - + # shared library path if (3RDPARTY_${PRODUCT_NAME}_DLL AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_DLL}") get_filename_component (3RDPARTY_${PRODUCT_NAME}_DLL_DIR "${3RDPARTY_${PRODUCT_NAME}_DLL}" PATH) set (3RDPARTY_${PRODUCT_NAME}_DLL_DIR "${3RDPARTY_${PRODUCT_NAME}_DLL_DIR}" CACHE FILEPATH "The directory containing ${PRODUCT_NAME} shared library" FORCE) endif() endif() - + if (3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR AND EXISTS "${3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR}") list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_${PRODUCT_NAME}_INCLUDE_DIR}") else() @@ -169,6 +169,8 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB endif() endif() + set (USED_3RDPARTY_${PRODUCT_NAME}_DIR "") + if (INSTALL_${PRODUCT_NAME}) OCCT_MAKE_OS_WITH_BITNESS() OCCT_MAKE_COMPILER_SHORT_NAME() @@ -177,10 +179,16 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB if (WIN32) install (FILES "${3RDPARTY_${PRODUCT_NAME}_DLL}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}") else() - install (FILES "${3RDPARTY_${PRODUCT_NAME}_LIBRARY}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}") + get_filename_component(ABS_PATH ${3RDPARTY_${PRODUCT_NAME}_LIBRARY} REALPATH) + if ("${PRODUCT_NAME}" STREQUAL "FREEIMAGE") + get_filename_component(FREEIMLIB ${3RDPARTY_${PRODUCT_NAME}_LIBRARY} NAME) + install (FILES "${ABS_PATH}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}" RENAME ${FREEIMLIB}.3) + endif() + if("${PRODUCT_NAME}" STREQUAL "GL2PS") + get_filename_component(GL2PSLIB ${3RDPARTY_${PRODUCT_NAME}_LIBRARY} NAME) + install (FILES "${ABS_PATH}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}" RENAME ${GL2PSLIB}.1) + endif() endif() - - set (USED_3RDPARTY_${PRODUCT_NAME}_DIR "") else() # the library directory for using by the executable if (WIN32) @@ -189,6 +197,6 @@ macro (THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME LIBRARY_NAME_DEB set (USED_3RDPARTY_${PRODUCT_NAME}_DIR "${3RDPARTY_${PRODUCT_NAME}_LIBRARY_DIR}") endif() endif() - + mark_as_advanced (3RDPARTY_${PRODUCT_NAME}_LIBRARY 3RDPARTY_${PRODUCT_NAME}_DLL) -endmacro() \ No newline at end of file +endmacro() diff --git a/adm/cmake/BuildToolkit.cmake b/adm/cmake/BuildToolkit.cmake new file mode 100644 index 0000000000..eb85d473a7 --- /dev/null +++ b/adm/cmake/BuildToolkit.cmake @@ -0,0 +1,96 @@ +# 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) + 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") + + # 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 CDIR_files ${CFiles}) + if (APPLE) + list ( APPEND CDIR_files ${MFiles}) + endif() + + foreach (CFile ${CDIR_files}) + list (APPEND USED_SRCFILES ${CDIR}/${CFile} ) + SOURCE_GROUP (${CDirName} FILES ${CDIR}/${CFile}) + endforeach() +endforeach() + +list (APPEND COMPILER_DIRECTORIES "${OCCT_SOURCE_DIR}/src") +list (FIND USED_TOOLKITS ${PROJECT_NAME} isFOUND) + +OCCT_MAKE_BUILD_POSTFIX() + +# 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}) + install (TARGETS ${PROJECT_NAME} DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}") + else() + add_library (${PROJECT_NAME} ${USED_SRCFILES}) + install (TARGETS ${PROJECT_NAME} + RUNTIME DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}" + ARCHIVE DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}" + LIBRARY DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}") + if (MSVC) + install (FILES ${CMAKE_BINARY_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}/${PROJECT_NAME}.pdb + CONFIGURATIONS Debug + DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}") + endif() + endif() + + set_property (TARGET ${PROJECT_NAME} PROPERTY FOLDER "Modules/${CURRENT_MODULE}") + set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${PRECOMPILED_DEFS}") + include_directories (${COMPILER_DIRECTORIES}) + target_link_libraries (${PROJECT_NAME} ${USED_LIBS}) +endif() \ No newline at end of file diff --git a/adm/templates/freeimage.cmake b/adm/cmake/freeimage.cmake similarity index 100% rename from adm/templates/freeimage.cmake rename to adm/cmake/freeimage.cmake diff --git a/adm/templates/freeimageplus.cmake b/adm/cmake/freeimageplus.cmake similarity index 100% rename from adm/templates/freeimageplus.cmake rename to adm/cmake/freeimageplus.cmake diff --git a/adm/templates/freetype.cmake b/adm/cmake/freetype.cmake similarity index 93% rename from adm/templates/freetype.cmake rename to adm/cmake/freetype.cmake index 6f88830ccb..4d98077616 100644 --- a/adm/templates/freetype.cmake +++ b/adm/cmake/freetype.cmake @@ -12,7 +12,7 @@ endif() SET (CACHED_FREETYPE_DIR $ENV{FREETYPE_DIR}) # include occt macros. compiler_bitness, os_wiht_bit, compiler and build_postfix -OCCT_INCLUDE_CMAKE_FILE ("adm/templates/occt_macros") +OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros") OCCT_MAKE_COMPILER_SHORT_NAME() OCCT_MAKE_COMPILER_BITNESS() @@ -59,9 +59,7 @@ if (WIN32) endif() endif() -message (STATUS "Info: CMake default freetype search start...") find_package(Freetype) -message (STATUS "Info: CMake default freetype search end") # ft2build header if (FREETYPE_INCLUDE_DIR_ft2build AND EXISTS "${FREETYPE_INCLUDE_DIR_ft2build}") @@ -73,7 +71,6 @@ endif() if (NOT FREETYPE_INCLUDE_DIR_freetype2 OR NOT EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}") # cmake (version is < 3.0) doesn't find ftheader.h of freetype (version is >= 2.5.1) # do search taking into account freetype structure of 2.5.1 version - message (STATUS "Info: CMake default search doesn't found FREETYPE_INCLUDE_DIR_freetype2") find_path (FREETYPE_INCLUDE_DIR_freetype2 NAMES freetype/config/ftheader.h config/ftheader.h @@ -87,12 +84,6 @@ if (NOT FREETYPE_INCLUDE_DIR_freetype2 OR NOT EXISTS "${FREETYPE_INCLUDE_DIR_fre PATH_SUFFIXES include/freetype2 include freetype2 NO_DEFAULT_PATH) find_path (FREETYPE_INCLUDE_DIR_freetype2 NAMES freetype/config/ftheader.h config/ftheader.h) - - if (NOT FREETYPE_INCLUDE_DIR_freetype2 OR NOT EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}") - message (STATUS "Info: FREETYPE_INCLUDE_DIR_freetype2 is NOT found by additional search") - else() - message (STATUS "Info: FREETYPE_INCLUDE_DIR_freetype2 is found by additional search") - endif() elseif (FREETYPE_INCLUDE_DIR_freetype2 OR EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}") if (3RDPARTY_FREETYPE_DIR AND EXISTS "${3RDPARTY_FREETYPE_DIR}") get_filename_component (3RDPARTY_FREETYPE_DIR_ABS "${3RDPARTY_FREETYPE_DIR}" ABSOLUTE) @@ -110,7 +101,7 @@ elseif (FREETYPE_INCLUDE_DIR_freetype2 OR EXISTS "${FREETYPE_INCLUDE_DIR_freetyp if (TMP_FREETYPE2 OR NOT EXISTS "${TMP_FREETYPE2}") set (3RDPARTY_FREETYPE_INCLUDE_DIR_freetype2 "${TMP_FREETYPE2}" CACHE FILEPATH "the path of freetype2" FORCE) - + # hide and remove TMP_FREETYPE2 mark_as_advanced (TMP_FREETYPE2) unset (TMP_FREETYPE2) @@ -154,7 +145,7 @@ if (FREETYPE_LIBRARY AND EXISTS "${FREETYPE_LIBRARY}") if (NOT 3RDPARTY_FREETYPE_LIBRARY) set (3RDPARTY_FREETYPE_LIBRARY "${FREETYPE_LIBRARY}" CACHE FILEPATH "freetype library" FORCE) endif() - + if (3RDPARTY_FREETYPE_LIBRARY AND EXISTS "${3RDPARTY_FREETYPE_LIBRARY}") get_filename_component (3RDPARTY_FREETYPE_LIBRARY_DIR "${3RDPARTY_FREETYPE_LIBRARY}" PATH) set (3RDPARTY_FREETYPE_LIBRARY_DIR "${3RDPARTY_FREETYPE_LIBRARY_DIR}" CACHE FILEPATH "The directory containing freetype library" FORCE) @@ -169,7 +160,7 @@ if (FREETYPE_LIBRARY AND EXISTS "${FREETYPE_LIBRARY}") set (3RDPARTY_FREETYPE_DLL "3RDPARTY_FREETYPE_DLL-NOTFOUND" CACHE FILEPATH "freetype shared library" FORCE) find_library (3RDPARTY_FREETYPE_DLL freetype PATHS "${FREETYPE_LIBRARY_PARENT_DIR}/bin" NO_DEFAULT_PATH) endif() - + if (3RDPARTY_FREETYPE_DLL AND EXISTS "${3RDPARTY_FREETYPE_DLL}") get_filename_component (3RDPARTY_FREETYPE_DLL_DIR "${3RDPARTY_FREETYPE_DLL}" PATH) set (3RDPARTY_FREETYPE_DLL_DIR "${3RDPARTY_FREETYPE_DLL_DIR}" CACHE FILEPATH "The directory containing freetype shared library" FORCE) @@ -221,7 +212,9 @@ if (INSTALL_FREETYPE) if (WIN32) install (FILES "${3RDPARTY_FREETYPE_DLL}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}") else() - install (FILES "${3RDPARTY_FREETYPE_LIBRARY}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}") + get_filename_component(ABS_PATH ${3RDPARTY_FREETYPE_LIBRARY} REALPATH) + get_filename_component(FREETYPELIB ${3RDPARTY_FREETYPE_LIBRARY} NAME) + install (FILES "${ABS_PATH}" DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}" RENAME ${FREETYPELIB}.6) endif() set (USED_3RDPARTY_FREETYPE_DIR "") diff --git a/adm/templates/gl2ps.cmake b/adm/cmake/gl2ps.cmake similarity index 100% rename from adm/templates/gl2ps.cmake rename to adm/cmake/gl2ps.cmake diff --git a/adm/templates/glx.cmake b/adm/cmake/glx.cmake similarity index 100% rename from adm/templates/glx.cmake rename to adm/cmake/glx.cmake diff --git a/adm/templates/occt_defs_flags.cmake b/adm/cmake/occt_defs_flags.cmake similarity index 91% rename from adm/templates/occt_defs_flags.cmake rename to adm/cmake/occt_defs_flags.cmake index 9dd5574afa..a857f9f985 100644 --- a/adm/templates/occt_defs_flags.cmake +++ b/adm/cmake/occt_defs_flags.cmake @@ -40,7 +40,6 @@ if (IS_DEBUG_C) message (STATUS "-DDEBUG has been removed from CMAKE_C_FLAGS_DEBUG") string (REGEX REPLACE "-DDEBUG" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") endif() - # enable parallel compilation on MSVC 9 and above if (MSVC AND NOT MSVC70 AND NOT MSVC80) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -MP") @@ -49,7 +48,6 @@ endif() # generate a single response file which enlist all of the object files SET(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1) SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1) - # increase compiler warnings level (-W4 for MSVC, -Wall for GCC) if (MSVC) if (CMAKE_CXX_FLAGS MATCHES "/W[0-4]") @@ -61,6 +59,10 @@ elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") endif() +if (DEFINED CMAKE_COMPILER_IS_GNUCXX OR "x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xClang") + set (CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}") +endif() + set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNo_Exception") set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DNo_Exception") diff --git a/adm/cmake/occt_gendoc.cmake b/adm/cmake/occt_gendoc.cmake new file mode 100644 index 0000000000..21dd3ca810 --- /dev/null +++ b/adm/cmake/occt_gendoc.cmake @@ -0,0 +1,1325 @@ +# ==========================================================================# +# Brief: This script compiles OCCT documents from *.md files to HTML pages # +# ==========================================================================# + +# ====================================== +# Common functions +# ====================================== + +# Print single line or print the line to the file +function(puts theLine) + if(${ARGC} EQUAL 1) + message(STATUS "${theLine}") + elseif(${ARGC} EQUAL 2) + file(APPEND ${ARGV0} "${ARGV1}\n") + endif() +endfunction() + +# Print CMake Error, stop processing and generation +function(error theLine) + message(FATAL_ERROR "${theLine}") +endfunction() + +# Prints help message +function (OCCDoc_PrintHelpMessage) + puts("Usage: gendoc [-h] {-refman|-overview} [-html|-pdf|-chm] [-m=|-ug=] [-v] [-s=] [-mathjax=]") + puts("") + puts("Options are:") + puts("") + puts("choice of documentation to be generated:") + puts(" -overview : To generate Overview and User Guides") + puts(" (cannot be used with -refman)") + puts(" -refman : To generate class Reference Manual") + puts(" (cannot be used with -overview)") + puts("") + puts("choice of output format:") + puts(" -html : To generate HTML files") + puts(" (default, cannot be used with -pdf or -chm)") + puts(" -pdf : To generate PDF files") + puts(" (cannot be used with -refman, -html, or -chm)") + puts(" -chm : To generate CHM files") + puts(" (cannot be used with -html or -pdf)") + puts("") + puts("additional options:") + puts(" -m= : List of OCCT modules (separated with comma),") + puts(" for generation of Reference Manual") + puts(" -ug= : List of MarkDown documents (separated with comma),") + puts(" to use for generation of Overview / User Guides") + puts(" -mathjax= : To use local or alternative copy of MathJax") + puts(" -s= : Specifies the Search mode of HTML documents") + puts(" Can be: none | local | server | external") + puts(" -h : Prints this help message") + puts(" -v : Enables more verbose output") +endfunction() + +# A command for User Documentation compilation +function (gendoc) + # Parameters + set (DOC_TYPE "REFMAN") + set (GEN_MODE "HTML_ONLY") + set (DOCFILES) + set (MODULES) + set (DOCLABEL "") + set (VERB_MODE "NO") + set (SEARCH_MODE "none") + set (MATHJAX_LOCATION "http://cdn.mathjax.org/mathjax/latest") + set (mathjax_js_name "MathJax.js") + set (DOCTYPE_COMBO_FLAG 0) + set (GENMODE_COMBO_FLAG 0) + set (GENERATE_PRODUCTS_REFMAN "NO") + + #available_docfiles; # The full list of md files for HTML or CHM generation + #available_pdf; # The full list of md files for PDF generation + #args_names + #args_values + + # Load list of docfiles + OCCDoc_LoadFilesList() + + # Parse CL arguments + OCCDoc_ParseArguments(${ARGV}) + + # Print help message if no arguments provided + separate_arguments(args_names) + list(LENGTH args_names length) + if (${length} EQUAL 0) + OCCDoc_PrintHelpMessage() + return() + endif() + + list(FIND args_names "pdf" FIND_pdf) + list(FIND args_names "chm" FIND_chm) + list(FIND args_names "ug" FIND_ug) + list(FIND args_names "m" FIND_m) + list(FIND args_names "refman" FIND_refman) + list(FIND args_names "overview" FIND_overview) + foreach (arg_n ${args_names}) + if ("${arg_n}" STREQUAL "h") + OCCDoc_PrintHelpMessage() + return() + elseif ("${arg_n}" STREQUAL "html") + if(${FIND_refman} EQUAL -1 AND ${FIND_overview} EQUAL -1 ) + error("Error: Please specify -refman or -overview argument.") + endif() + if(${FIND_refman} EQUAL -1) + if (NOT ${GENMODE_COMBO_FLAG} EQUAL 1) + set (GEN_MODE "HTML_ONLY") + set (GENMODE_COMBO_FLAG 1) + else() + error("Error: Options -html, -pdf and -chm can not be combined.") + endif() + endif() + elseif ("${arg_n}" STREQUAL "chm") + if(${FIND_refman} EQUAL -1 AND ${FIND_overview} EQUAL -1 ) + error("Error: Please specify -refman or -overview argument.") + endif() + if(${FIND_refman} EQUAL -1) + if(NOT ${GENMODE_COMBO_FLAG} EQUAL 1) + set (GEN_MODE "CHM_ONLY") + set (GENMODE_COMBO_FLAG 1) + else() + error("Error: Options -html, -pdf and -chm cannot be combined.") + endif() + endif() + elseif ("${arg_n}" STREQUAL "pdf") + if(${FIND_refman} EQUAL -1 AND ${FIND_overview} EQUAL -1 ) + error("Error: Please specify -refman or -overview argument.") + endif() + if(${FIND_refman} EQUAL -1) + if (NOT ${GENMODE_COMBO_FLAG} EQUAL 1) + set (GEN_MODE "PDF_ONLY") + set (GENMODE_COMBO_FLAG 1) + else() + error("Error: Options -html, -pdf and -chm cannot be combined.") + endif() + endif() + elseif ("${arg_n}" STREQUAL "overview") + if (NOT ${DOCTYPE_COMBO_FLAG} EQUAL 1) + set (DOC_TYPE "OVERVIEW") + set (DOCTYPE_COMBO_FLAG 1) + else() + error("Error: Options -refman and -overview cannot be combined.") + endif() + # Print ignored options + if ( NOT ${FIND_m} EQUAL -1 ) + puts ("Info: The following options will be ignored:") + puts (" * -m") + endif() + puts ("") + elseif ("${arg_n}" STREQUAL "refman") + if (NOT ${DOCTYPE_COMBO_FLAG} EQUAL 1) + set (DOC_TYPE "REFMAN") + set (DOCTYPE_COMBO_FLAG 1) + if ( EXISTS "${PRODUCTS_SOURCE_DIR}/src/VAS/Products.tcl") + set (GENERATE_PRODUCTS_REFMAN "YES") + endif() + else() + error("Error: Options -refman and -overview cannot be combined.") + endif() + # Print ignored options + if (NOT ${FIND_pdf} EQUAL -1 OR NOT ${FIND_chm} EQUAL -1 OR NOT ${FIND_ug} EQUAL -1) + puts ("Info: The following options will be ignored:") + if (NOT ${FIND_pdf} EQUAL -1) + puts (" * -pdf") + endif() + if (NOT ${FIND_chm} EQUAL -1) + puts (" * -chm") + endif() + if (NOT ${FIND_ug} EQUAL -1) + puts (" * -ug") + endif() + puts("") + endif() + if ( "${GENERATE_PRODUCTS_REFMAN}" STREQUAL "YES") + if (${FIND_m} EQUAL -1) + error("Error: Cannot generate Reference Manual for the whole set of OCC Products.") + endif() + endif() + elseif ("${arg_n}" STREQUAL "v") + set (VERB_MODE "YES") + elseif ("${arg_n}" STREQUAL "ug") + if(${FIND_refman} EQUAL -1) + list(FIND args_names "ug" curIndex) + list(GET args_values ${curIndex} curValue) + if ( NOT "${curValue}" STREQUAL "NULL") + string(REPLACE "," " " curValue "${curValue}") + separate_arguments(curValue) + set (DOCFILES ${curValue}) + else() + error("Error in argument ug.") + endif() + # Check if all chosen docfiles are correct + foreach (docfile ${DOCFILES}) + if(${FIND_pdf} EQUAL -1) + # Check to generate HTMLs + list(FIND available_docfiles "${docfile}" FIND_doc) + if (${FIND_doc} EQUAL -1) + error("Error: File \"${docfile}\" is not presented in the list of available docfiles.") + endif() + else() + # Check to generate PDFs + list(FIND available_pdf "${docfile}" FIND_doc) + if ( ${FIND_doc} EQUAL -1) + error("Error: File \"${docfile}\" is not presented in the list of generic PDFs.") + endif() + endif() + endforeach() + endif() + elseif ("${arg_n}" STREQUAL "m") + if (${FIND_overview} EQUAL -1) + list(FIND args_names "m" curIndex) + list(GET args_values ${curIndex} curValue) + if ( NOT "${curValue}" STREQUAL "NULL") + string(REPLACE "," " " curValue "${curValue}") + separate_arguments(curValue) + set(MODULES ${curValue}) + else() + error("Error in argument m.") + endif() + endif() + elseif ("${arg_n}" STREQUAL "s") + if (${FIND_pdf} EQUAL -1) + list(FIND args_names "s" curIndex) + list(GET args_values ${curIndex} curValue) + if ( NOT "${curValue}" STREQUAL "NULL") + string(REPLACE "," " " curValue "${curValue}") + separate_arguments(curValue) + set (SEARCH_MODE ${curValue}) + else() + error("Error in argument s.") + endif() + endif() + elseif ("${arg_n}" STREQUAL "mathjax") + if (NOT ${FIND_pdf} EQUAL -1) + list(FIND args_names "mathjax" curIndex) + list(GET args_values ${curIndex} curValue) + string(REPLACE "," " " curValue "${curValue}") + separate_arguments(curValue) + set (possible_mathjax_loc ${curValue}) + if (EXISTS "${possible_mathjax_loc}/${mathjax_js_name}") + set (MATHJAX_LOCATION ${curValue}) + puts ("${MATHJAX_LOCATION}") + else() + puts ("Warning: ${mathjax_js_name} is not found in ${possible_mathjax_loc}.") + puts (" MathJax will be used from ${MATHJAX_LOCATION}") + endif() + else() + puts("Warning: MathJax is not used with pdf and will be ignored.") + endif() + else() + OCCDoc_PrintHelpMessage() + error("Wrong argument: ${arg_n}") + endif() + endforeach() + + # Check the existence of the necessary tools + find_program(DOC_DOXYGEN_PATH "doxygen") + if ("${DOC_DOXYGEN_PATH}" STREQUAL "DOC_DOXYGEN_PATH-NOTFOUND") + error(" Aborting... Could not find Doxygen, check DOC_DOXYGEN_PATH variable") + endif() + + if("${DOC_TYPE}" STREQUAL "REFMAN") + find_program(DOC_GRAPHVIZ_PATH "dot") + if ("${DOC_GRAPHVIZ_PATH}" STREQUAL "DOC_GRAPHVIZ_PATH-NOTFOUND") + puts("Warning: Could not find Dot Part of Graphviz software. Doxygen will skip generation of class diagrams in Reference Manual, check DOC_GRAPHVIZ_PATH variable") + endif() + endif() + + if (WIN32) + if ("${GEN_MODE}" STREQUAL "CHM_ONLY") + find_program(DOC_HHC_PATH "hhc") + if("${DOC_HHC_PATH}" STREQUAL "DOC_HHC_PATH-NOTFOUND") + error(" Aborting... Could not find HHC, check DOC_HHC_PATH variable") + endif() + endif() + endif() + + if ("${GEN_MODE}" STREQUAL "PDF_ONLY") + find_program(DOC_INKSCAPE_PATH "inkscape") + if("${DOC_INKSCAPE_PATH}" STREQUAL "DOC_INKSCAPE_PATH-NOTFOUND") + puts ("Warning: Could not find Inkscape, check DOC_INKSCAPE_PATH variable.") + puts ("\tSVG images will be lost in PDF documents.") + endif() + find_program(DOC_PDFLATEX_PATH "pdflatex") + if("${DOC_PDFLATEX_PATH}" STREQUAL "DOC_PDFLATEX_PATH-NOTFOUND") + error(" Aborting... Could not find PDFLATEX, check DOC_PDFLATEX_PATH variable") + endif() + endif() + + # If we do not specify list for docfiles with -m argument, + # we assume that we have to generate all docfiles + list(LENGTH DOCFILES DOCFILES_length) + if (${DOCFILES_length} EQUAL 0) + if (NOT "${GEN_MODE}" STREQUAL "PDF_ONLY") + set (DOCFILES ${available_docfiles}) + else() + set (DOCFILES ${available_pdf}) + endif() + endif() + + OCCDoc_GetRootDir(ROOTDIR) + + # Clean logfiles + set (OUTDIR "${ROOTDIR}/doc") + set (DOXYLOG "${OUTDIR}/doxygen_warnings_and_errors.log") + set (PDFLOG "${OUTDIR}/pdflatex_warnings_and_errors.log") + + file(REMOVE "${PDFLOG}") + file(REMOVE "${DOXYLOG}") + + # Start main activities + if (NOT "${GEN_MODE}" STREQUAL "PDF_ONLY") + OCCDoc_Main(${DOC_TYPE} DOCFILES MODULES ${GEN_MODE} ${VERB_MODE} ${SEARCH_MODE} ${MATHJAX_LOCATION} ${GENERATE_PRODUCTS_REFMAN} available_docfiles available_pdf) + else() + puts ("Generating OCCT User Guides in PDF format...") + foreach (pdf ${DOCFILES}) + puts ("Info: Processing file ${pdf}") + # Some values are hardcoded because they are related only to PDF generation + separate_arguments(pdf) + OCCDoc_Main("OVERVIEW" pdf "" "PDF_ONLY" ${VERB_MODE} "none" ${MATHJAX_LOCATION} "NO" available_docfiles available_pdf) + endforeach() + string(TIMESTAMP time "%Y-%m-%d %H:%M") + puts ("${time} Generation completed.") + puts ("PDF files are generated in \n\t${OUTDIR}/pdf") + endif() +endfunction() + +# Main procedure for documents compilation +function (OCCDoc_Main docType docfiles modules generatorMode verboseMode searchMode mathjaxLocation generateProductsRefman the_available_docfiles the_available_pdf) + set(docfiles ${${docfiles}}) + set(modules ${${modules}}) + set(available_docfiles ${${the_available_docfiles}}) + set(available_pdf ${${the_available_pdf}}) + + if ("${generateProductsRefman}" STREQUAL "YES") + set (ROOTDIR "${PRODUCTS_SOURCE_DIR}") + else() + set (ROOTDIR "${OCCT_SOURCE_DIR}") + endif() + + OCCDoc_GetDoxDir(INDIR) + set (OUTDIR "${ROOTDIR}/doc") + set (PDFDIR "${OUTDIR}/pdf") + set (UGDIR "${PDFDIR}/user_guides") + set (DGDIR "${PDFDIR}/dev_guides") + set (TAGFILEDIR "${OUTDIR}/refman") + set (HTMLDIR "${OUTDIR}/overview/html") + set (LATEXDIR "${OUTDIR}/overview/latex") + set (DOXYFILE "${OUTDIR}/OCCT.cfg") + + # Create or cleanup the output folders + if (NOT "${generateProductsRefman}" STREQUAL "YES") + foreach(dir ${OUTDIR} ${HTMLDIR} ${PDFDIR} ${UGDIR} ${DGDIR}) + if (NOT EXISTS "${dir}") + file(MAKE_DIRECTORY "${dir}") + endif() + endforeach() + if (EXISTS "${LATEXDIR}") + file(REMOVE_RECURSE "${LATEXDIR}") + endif() + file(MAKE_DIRECTORY "${LATEXDIR}") + endif() + if ("${docType}" STREQUAL "REFMAN") + if (NOT EXISTS "${TAGFILEDIR}") + file(MAKE_DIRECTORY "${TAGFILEDIR}") + endif() + endif() + + # is MathJax HLink? + set (mathjax_relative_location "${mathjaxLocation}") + if (IS_DIRECTORY "${mathjaxLocation}") + if ( "${generatorMode}" STREQUAL "HTML_ONLY") + # related path + file(RELATIVE_PATH mathjax_relative_location ${HTMLDIR} ${mathjaxLocation}) + elseif ("${generatorMode}" STREQUAL "CHM_ONLY") + # absolute path + set (mathjax_relative_location ${mathjaxLocation}) + endif() + endif() + + if ( "${generateProductsRefman}" STREQUAL "YES") + set (DOCDIR "${OUTDIR}/refman") + puts ("Generating OCC Products Reference Manual") + else() + if ( "${docType}" STREQUAL "REFMAN") + set (DOCDIR "${OUTDIR}/refman") + puts ("Generating Open CASCADE Reference Manual") + elseif ("${docType}" STREQUAL "OVERVIEW") + set (DOCDIR "${OUTDIR}/overview") + set (FORMAT "") + if ( "${generatorMode}" STREQUAL "HTML_ONLY" OR "${generatorMode}" STREQUAL "CHM_ONLY") + if ( "${generatorMode}" STREQUAL "HTML_ONLY") + set (FORMAT " in HTML format...") + elseif ( "${generatorMode}" STREQUAL "CHM_ONLY") + set (FORMAT " in CHM format...") + endif() + puts ("Generating OCCT User Guides${FORMAT}") + endif() + else() + error("Error: Invalid documentation type: ${docType}. Can not process.") + endif() + endif() + + # Generate Doxyfile + string(TIMESTAMP time "%Y-%m-%d %H:%M") + puts ("${time} Generating Doxyfile...") + + OCCDoc_MakeDoxyfile(${docType} ${DOCDIR} ${TAGFILEDIR} ${DOXYFILE} ${generatorMode} docfiles modules ${verboseMode} ${searchMode} ${mathjax_relative_location}) + + # Run doxygen tool + string(TIMESTAMP starttimestamp "%Y-%m-%d %H:%M") + if ("${generatorMode}" STREQUAL "HTML_ONLY" OR "${docType}" STREQUAL "REFMAN") + puts("${starttimestamp} Generating HTML files...") + # Copy index file to provide fast access to HTML documentation + file(COPY "${INDIR}/resources/index.html" DESTINATION "${DOCDIR}") + elseif ("${generatorMode}" STREQUAL "CHM_ONLY") + puts ("${starttimestamp} Generating CHM file...") + elseif ("${generatorMode}" STREQUAL "PDF_ONLY") + puts ("${starttimestamp} Generating PDF file...") + endif() + execute_process(COMMAND ${DOC_DOXYGEN_PATH} ${DOXYFILE} + OUTPUT_FILE ${OUTDIR}/doxygen_out.log + ERROR_FILE ${OUTDIR}/doxygen_warnings_and_errors.log + ) + # Start Post Processing + string(TIMESTAMP curtime "%Y-%m-%d %H:%M") + if( "${docType}" STREQUAL "REFMAN") + # Post Process generated HTML pages and draw dependency graphs + OCCDoc_PostProcessor(${DOCDIR}) + if (${isOK} EQUAL 0) + puts ("${curtime} Generation completed.") + puts ("Info: doxygen log file is located in:") + puts ("\t${OUTDIR}/doxygen_out.log.") + puts ("Reference Manual is generated in \n\t${DOCDIR}") + endif() + elseif ("${docType}" STREQUAL "OVERVIEW") + # Start PDF generation routine + if ("${generatorMode}" STREQUAL "PDF_ONLY") + # Prepare a list of TeX files, generated by Doxygen + file(GLOB TEXFILES RELATIVE "${LATEXDIR}" "${LATEXDIR}/*.tex") + list(REMOVE_ITEM TEXFILES "refman.tex") + if ("${verboseMode}" STREQUAL "YES") + puts ("Info: Preprocessing generated TeX files...") + endif() + + OCCDoc_ProcessTex(TEXFILES ${LATEXDIR} ${verboseMode}) + + if ("${verboseMode}" STREQUAL "YES") + puts ("Info: Converting SVG images to PNG format...") + endif() + + if (NOT "${DOC_INKSCAPE_PATH}" STREQUAL "DOC_INKSCAPE_PATH-NOTFOUND") + OCCDoc_ProcessSvg(${LATEXDIR} ${verboseMode}) + endif() + + if ("${verboseMode}" STREQUAL "YES") + puts ("Info: Generating PDF file from TeX files...") + endif() + foreach (TEX ${TEXFILES}) + # Rewrite existing REFMAN.tex file... + get_filename_component(TEX ${TEX} NAME_WE) + if ("${verboseMode}" STREQUAL "YES") + puts ("Info: Generating PDF file from ${TEX}...") + endif() + + OCCDoc_MakeRefmanTex(${TEX} ${LATEXDIR} ${verboseMode} available_pdf) + + if ("${verboseMode}" STREQUAL "YES") + # ...and use it to generate PDF from TeX... + if (WIN32) + puts ("Info: Executing ${LATEXDIR}/make.bat...") + else() + puts ("Info: Executing ${LATEXDIR}/Makefile...") + endif() + endif() + set (PDFLOG "${OUTDIR}/pdflatex_warnings_and_errors.log") + + if (WIN32) + + execute_process(COMMAND ${LATEXDIR}/make.bat + OUTPUT_FILE ${OUTDIR}/pdflatex_out.log + WORKING_DIRECTORY ${LATEXDIR} + ERROR_FILE ${OUTDIR}/pdflatex_warnings_and_errors.log + ) + else() + execute_process(COMMAND make -f ${LATEXDIR}/Makefile + OUTPUT_FILE ${OUTDIR}/pdflatex_out.log + WORKING_DIRECTORY ${LATEXDIR} + ERROR_FILE ${OUTDIR}/pdflatex_warnings_and_errors.log + ) + # Small workaround for *nix stations + execute_process(COMMAND ${DOC_PDFLATEX_PATH} ${LATEXDIR}/refman.tex + WORKING_DIRECTORY ${LATEXDIR} + OUTPUT_FILE ${OUTDIR}/pdflatex_out.log + ERROR_FILE ${OUTDIR}/pdflatex_warnings_and_errors.log + ) + endif() + + if (NOT EXISTS "${LATEXDIR}/refman.pdf") + error("Fatal: PDFLaTeX failed to create output file, stopping!\n\tCheck \"${OUTDIR}/pdflatex_warnings_and_errors.log\" log file") + endif() + + set (destFolder "${PDFDIR}") + string(REGEX MATCHALL "([a-zA-Z]+)" parsed_string ${TEX}) + list(FIND parsed_string "tutorial" isTUTORIAL) + list(FIND parsed_string "user" isUSER) + list(FIND parsed_string "dev" isDEV) + + if (NOT ${isTUTORIAL} EQUAL -1) + string(REPLACE "occt__" "occt_" TEX ${TEX}) + set (destFolder ${PDFDIR}) + elseif (NOT ${isUSER} EQUAL -1) + string(REPLACE "user_guides__" "" TEX ${TEX}) + set (destFolder ${UGDIR}) + elseif (NOT ${isDEV} EQUAL -1) + string(REPLACE "dev_guides__" "" TEX ${TEX}) + set (destFolder ${DGDIR}) + endif() + file (RENAME "${LATEXDIR}/refman.pdf" "${destFolder}/${TEX}.pdf") + endforeach() + elseif ( "${generatorMode}" STREQUAL "CHM_ONLY" ) + file (RENAME "${OUTDIR}/overview.chm" "${OUTDIR}/occt_overview.chm") + endif() + if ( "${generatorMode}" STREQUAL "HTML_ONLY" ) + puts ("HTML documentation is generated in \n\t${DOCDIR}") + endif() + if ( "${generatorMode}" STREQUAL "CHM_ONLY" ) + puts ("Generated CHM documentation is in \n\t${OUTDIR}/overview.chm") + endif() + + puts ("") + endif() + + file(GLOB_RECURSE deleteList "${OUTDIR}/*.tmp") + foreach(file ${deleteList}) + file (REMOVE ${file}) + endforeach() +endfunction() + +# Generates Doxygen configuration file for Overview documentation +function (OCCDoc_MakeDoxyfile docType outDir tagFileDir doxyFileName generatorMode DocFilesList ModulesList verboseMode searchMode mathjaxLocation) + set(DocFilesList ${${DocFilesList}}) + set(ModulesList ${${ModulesList}}) + OCCDoc_GetDoxDir(inputDir) + set (TEMPLATES_DIR ${inputDir}/resources) + OCCDoc_DetectCasVersion(occt_version) + # Delete existent doxyfile + file (REMOVE "${doxyFileName}") + + # Copy specific template to the target folder + if ( "${docType}" STREQUAL "REFMAN") + configure_file("${TEMPLATES_DIR}/occt_rm.doxyfile" "${doxyFileName}" COPYONLY) + elseif ("${docType}" STREQUAL "OVERVIEW") + if ("${generatorMode}" STREQUAL "HTML_ONLY" OR "${generatorMode}" STREQUAL "CHM_ONLY") + configure_file("${TEMPLATES_DIR}/occt_ug_html.doxyfile" "${doxyFileName}" COPYONLY) + elseif ("${generatorMode}" STREQUAL "PDF_ONLY") + configure_file("${TEMPLATES_DIR}/occt_ug_pdf.doxyfile" "${doxyFileName}" COPYONLY) + else() + error("Error: Unknown generation mode") + endif() + else() + error("Error: Cannot generate unknown document type") + endif() + + # Write specific options + if ("${docType}" STREQUAL "REFMAN") + GET_OCCT_MODULES(modules) + if (NOT "${ModulesList}" STREQUAL "") + # Detect invalid names of modules + foreach (module ${ModulesList}) + list(FIND modules "${module}" isFound) + if (${isFound} EQUAL -1) + error("Error: No module ${module} is known. Aborting...") + endif() + endforeach() + set (modules "${ModulesList}") + endif() + + # Set context + list(LENGTH modules length) + if (${length} EQUAL 1) + set (title "OCCT ${modules}") + set (name "${modules}") + else() + set (title "Open CASCADE Technology") + set (name "OCCT") + endif() + + # Get list of header files in the specified modules + set (filelist) + foreach (module ${modules}) + foreach (tk ${${module}_TOOLKITS}) + OCCDoc_GetPackagesList(${tk} ${tk}_PACKAGES) + foreach (pk ${${tk}_PACKAGES}) + OCCDoc_GetRootDir(theRoot) + file(GLOB INC_FILES "${theRoot}/src/${pk}/*.[hg]*") + set(TEMP_INC_FILES) + foreach (INC_FILE ${INC_FILES}) + string(FIND "${INC_FILE}" "/Handle_" isFound) + if(${isFound} EQUAL -1) + list(APPEND TEMP_INC_FILES "${INC_FILE}") + endif() + endforeach() + list(APPEND filelist "${TEMP_INC_FILES}") + endforeach() + endforeach() + endforeach() + + puts (${doxyFileName} "PROJECT_NAME = \"${title}\"") + puts (${doxyFileName} "PROJECT_NUMBER = ${occt_version}") + puts (${doxyFileName} "OUTPUT_DIRECTORY = ${outDir}/.") + puts (${doxyFileName} "GENERATE_TAGFILE = ${outDir}/${name}.tag") + + if ("${searchMode}" STREQUAL "none") + puts (${doxyFileName} "SEARCHENGINE = NO") + puts (${doxyFileName} "SERVER_BASED_SEARCH = NO") + puts (${doxyFileName} "EXTERNAL_SEARCH = NO") + else() + puts (${doxyFileName} "SEARCHENGINE = YES") + if ("${searchMode}" STREQUAL "local") + puts (${doxyFileName} "SERVER_BASED_SEARCH = NO") + puts (${doxyFileName} "EXTERNAL_SEARCH = NO") + elseif ("${searchMode}" STREQUAL "server") + puts (${doxyFileName} "SERVER_BASED_SEARCH = YES") + puts (${doxyFileName} "EXTERNAL_SEARCH = NO") + elseif ("${searchMode}" STREQUAL "external") + puts (${doxyFileName} "SERVER_BASED_SEARCH = YES") + puts (${doxyFileName} "EXTERNAL_SEARCH = YES") + else() + error("Error: Wrong search engine type: ${searchMode}.") + endif() + endif() + if(EXISTS "${DOC_GRAPHVIZ_PATH}") + set(DOT_PATH "${DOC_GRAPHVIZ_PATH}") + endif() + puts (${doxyFileName} "DOTFILE_DIRS = ${outDir}/html") + puts (${doxyFileName} "DOT_PATH = ${DOT_PATH}") + puts (${doxyFileName} "INCLUDE_PATH = ${INSTALL_DIR}/inc") + # list of files to generate + OCCDoc_MakeMainPage(${outDir} "${outDir}/${name}.dox" modules) + set (mainpage "${outDir}/${name}.dox") + puts (${doxyFileName} "") + puts (${doxyFileName} "INPUT = ${mainpage} \\") + foreach (header ${filelist}) + puts (${doxyFileName} " ${header} \\") + endforeach() + + puts (${doxyFileName} "MATHJAX_FORMAT = HTML-CSS") + puts (${doxyFileName} "MATHJAX_RELPATH = ${mathjaxLocation}") + + puts (${doxyFileName} "") + + elseif ( "${docType}" STREQUAL "OVERVIEW") + # Add common options for generation of Overview and User Guides + puts (${doxyFileName} "PROJECT_NUMBER = ${occt_version}") + puts (${doxyFileName} "OUTPUT_DIRECTORY = ${outDir}/.") + puts (${doxyFileName} "PROJECT_LOGO = ${inputDir}/resources/occ_logo.png") + + set (PARAM_INPUT "INPUT =") + set (PARAM_IMAGEPATH "IMAGE_PATH = ${inputDir}/resources/ ") + foreach (docFile ${DocFilesList}) + set (NEW_IMG_PATH "${inputDir}/${docFile}") + OCCDoc_GetRootDir(theRoot) + if (NOT "${NEW_IMG_PATH}" STREQUAL "${theRoot}") + get_filename_component(img_string ${NEW_IMG_PATH} DIRECTORY) + set (img_string "${img_string}/images") + if (EXISTS ${img_string}) + set(PARAM_IMAGEPATH "${PARAM_IMAGEPATH} ${img_string}") + endif() + endif() + set(PARAM_INPUT "${PARAM_INPUT} ${inputDir}/${docFile}") + endforeach() + puts (${doxyFileName} ${PARAM_INPUT}) + puts (${doxyFileName} ${PARAM_IMAGEPATH}) + + # Add document type-specific options + if ( "${generatorMode}" STREQUAL "HTML_ONLY") + # generate tree view + puts (${doxyFileName} "GENERATE_TREEVIEW = YES") + + # Set a reference to a TAGFILE + if (NOT "${tagFileDir}" STREQUAL "") + if (EXISTS "${tagFileDir}/OCCT.tag") + set (tagPath ${tagFileDir}) + puts (${doxyFileName} "TAGFILES = ${tagFileDir}/OCCT.tag=../../refman/html") + endif() + endif() + # HTML Search engine options + string(TOLOWER "${searchMode}" searchMode) + if ("${searchMode}" STREQUAL "none") + puts (${doxyFileName} "SEARCHENGINE = NO") + puts (${doxyFileName} "SERVER_BASED_SEARCH = NO") + puts (${doxyFileName} "EXTERNAL_SEARCH = NO") + else() + puts (${doxyFileName} "SEARCHENGINE = YES") + if ("${searchMode}" STREQUAL "local") + puts (${doxyFileName} "SERVER_BASED_SEARCH = NO") + puts (${doxyFileName} "EXTERNAL_SEARCH = NO") + elseif ("${searchMode}" STREQUAL "server") + puts (${doxyFileName} "SERVER_BASED_SEARCH = YES") + puts (${doxyFileName} "EXTERNAL_SEARCH = NO") + elseif ("${searchMode}" STREQUAL "external") + puts (${doxyFileName} "SERVER_BASED_SEARCH = YES") + puts (${doxyFileName} "EXTERNAL_SEARCH = YES") + else() + error("Error: Wrong search engine type: ${searchMode}.") + endif() + endif() + elseif ( "${generatorMode}" STREQUAL "CHM_ONLY") + # specific options for CHM file generation + if(EXISTS "${DOC_HHC_PATH}") + set(HHC_LOCATION "${DOC_HHC_PATH}") + endif() + puts (${doxyFileName} "GENERATE_TREEVIEW = NO") + puts (${doxyFileName} "SEARCHENGINE = NO") + puts (${doxyFileName} "GENERATE_HTMLHELP = YES") + puts (${doxyFileName} "CHM_FILE = ../../overview.chm") + puts (${doxyFileName} "HHC_LOCATION = \"${HHC_LOCATION}\"") + puts (${doxyFileName} "DISABLE_INDEX = YES") + endif() + + # Formula options + puts (${doxyFileName} "MATHJAX_RELPATH = ${mathjaxLocation}") + endif() +endfunction() + +# Parses arguments line like "-arg1=val1 -arg2=val2 ..." to array args_names and map args_values +function (OCCDoc_ParseArguments) + #args_names + #args_values + set (args_names) + set (args_values) + + separate_arguments(ARGV) + + string(REGEX MATCHALL "^[a-zA-Z]+$" single_var "${ARGV}") + string(REGEX MATCHALL "^[a-zA-Z]+[=].*$" multi_var "${ARGV}") + + separate_arguments(ARGV) + foreach (arg ${ARGV}) + STRING(FIND "${arg}" "=" equalChar) + STRING(FIND "${arg}" "-" firstChar) + if(NOT "${firstChar}" EQUAL 0) + error("Error in argument \"${arg}\".") + endif() + if(NOT "${equalChar}" EQUAL -1) + math(EXPR valueChar "${equalChar} + 1") + math(EXPR nameChar "${equalChar} - 1") + string(SUBSTRING "${arg}" "${valueChar}" -1 aValue) + string(SUBSTRING "${arg}" 1 "${nameChar}" aName) + else() + string(SUBSTRING "${arg}" 1 -1 aName) + set(aValue "NULL") + endif() + list(APPEND args_names "${aName}") + list(APPEND args_values "${aValue}") + endforeach() + set (args_names ${args_names} PARENT_SCOPE) + set (args_values ${args_values} PARENT_SCOPE) + set (isOK 0 PARENT_SCOPE) +endfunction() + +# Returns script parent folder +function (OCCDoc_GetDoxDir result) + if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/dox") + set (filePATH ${BUILD_PATCH_DIR}) + elseif (EXISTS "${CMAKE_SOURCE_DIR}/dox") + set (filePATH ${CMAKE_SOURCE_DIR}) + endif() + set(${result} "${filePATH}/dox" PARENT_SCOPE) +endfunction() + +# Returns OCCT root dir +function (OCCDoc_GetOCCTRootDir result) + OCCDoc_GetDoxDir(path) + get_filename_component(path "${path}" DIRECTORY) + set(${result} "${path}" PARENT_SCOPE) +endfunction() + +# Returns root dir +function (OCCDoc_GetRootDir result) + OCCDoc_GetOCCTRootDir(path) + set(${result} "${path}" PARENT_SCOPE) +endfunction() + +# Returns OCCT source dir +function (OCCDoc_GetSourceDir result) + OCCDoc_GetRootDir(theRoot) + set(${result} "${theRoot}/src" PARENT_SCOPE) +endfunction() + +# Returns OCCT version string from file Standard_Version.hxx (if available) +function (OCCDoc_DetectCasVersion theVersion) + set (occt_ver 6.7.0) + set (occt_ver_add "") + OCCDoc_GetSourceDir(filename) + set(filename "${filename}/Standard/Standard_Version.hxx") + if(EXISTS "${filename}") + foreach (var OCC_VERSION_COMPLETE OCC_VERSION_DEVELOPMENT) + file (STRINGS "${filename}" ${var} REGEX "^#define ${var} .*") + STRING(REGEX REPLACE ".*${var} .*\"([^ ]+)\".*" "\\1" ${var} "${${var}}" ) + endforeach() + if(NOT "${OCC_VERSION_DEVELOPMENT}" STREQUAL "") + set(${theVersion} "${OCC_VERSION_COMPLETE}.${OCC_VERSION_DEVELOPMENT}" PARENT_SCOPE) + else() + set(${theVersion} "${OCC_VERSION_COMPLETE}" PARENT_SCOPE) + endif() + endif() +endfunction() + +# Convert SVG files to PDF format to allow including them to PDF +# (requires InkScape to be in PATH) +function (OCCDoc_ProcessSvg latexDir verboseMode) + file(GLOB aFILES "${latexDir}/*.svg") + foreach (file ${aFILES}) + if ("${verboseMode}" STREQUAL "YES") + puts ("Info: Converting file ${file}...") + endif() + get_filename_component(aDir ${file} DIRECTORY ) + get_filename_component(aName ${file} NAME_WE ) + set (pdffile "${aDir}/${aName}.pdf") + execute_process(COMMAND ${DOC_INKSCAPE_PATH} -z -D --file=${file} --export-pdf=${pdffile} + WORKING_DIRECTORY ${LATEXDIR} + OUTPUT_FILE ${OUTDIR}/inkscape_out.log + ERROR_FILE ${OUTDIR}/inkscape_warnings_and_errors.log + ) + endforeach() +endfunction() + +# ============================================== +# Reference Manual-specific functions +# ============================================== + +# Finds dependencies between all modules +function (OCCDoc_CreateModulesDependencyGraph dir filename modules mpageprefix) + set(modules ${${modules}}) + #module_dependency + set (file "${dir}/${filename}.dot") + file(REMOVE ${file}) + puts (${file} "digraph ${filename}") + puts (${file} "{") + foreach (mod ${modules}) + if ( NOT "${mod}" STREQUAL "") + string(TOLOWER "${mpageprefix}${mod}.html" aLowerString) + puts (${file} "\t${mod} [ URL = \"${aLowerString}\" ]") + foreach (mod_depend ${${mod}_DEPS}) + puts (${file} "\t${mod_depend} -> ${mod} [ dir = \"back\", color = \"midnightblue\", style = \"solid\" ]") + endforeach() + endif() + endforeach() + puts (${file} "}") +endfunction() + +# Finds dependencies between all toolkits in module +function(OCCDoc_CreateModuleToolkitsDependencyGraph dir filename modulename tpageprefix) + #toolkits_in_module + #toolkit_dependency + #toolkit_parent_module + set (file "${dir}/${filename}.dot") + file(REMOVE ${file}) + puts (${file} "digraph ${filename}") + puts (${file} "{") + foreach (tk ${${modulename}_TOOLKITS}) + string(TOLOWER "${tpageprefix}${tk}.html" LowerString) + OCC_GetUnitType("${tk}" theType) + if("${theType}" STREQUAL "t") + puts (${file} "\t${tk} [ URL = \"${LowerString}\"]") + foreach (tkd ${${tk}_DEPS}) + IS_OCCT_TOOLKIT(${tkd}) + OCC_GetUnitType("${tkd}" theType) + if("${theType}" STREQUAL "t") + if(NOT ${isFOUND} EQUAL -1) + if("${isFOUND}" STREQUAL "${modulename}") + puts (${file} "\t${tkd} -> ${tk} [ dir = \"back\", color = \"midnightblue\", style = \"solid\" ]") + endif() + endif() + endif() + endforeach() + endif() + endforeach() + puts (${file} "}") +endfunction() + +# Finds dependencies between the current toolkit and other toolkits +function(OCCDoc_CreateToolkitDependencyGraph dir filename toolkitname tpageprefix) + #toolkit_dependency + set (file "${dir}/${filename}.dot") + file(REMOVE ${file}) + puts(${file} "digraph ${filename}") + puts(${file} "{") + string(TOLOWER "${tpageprefix}${toolkitname}.html" LowerString) + puts(${file} "\t${toolkitname} [ URL = \"${LowerString}\", shape = box ]") + foreach (tkd ${${toolkitname}_DEPS}) + string(TOLOWER "${tpageprefix}${tkd}.html" LowerString) + puts(${file} "\t${tkd} [ URL = \"${LowerString}\"\ , shape = box ]") + puts(${file} "\t${toolkitname} -> ${tkd} [ color = \"midnightblue\", style = \"solid\" ]") + endforeach() + list(LENGTH ${toolkitname}_DEPS length) + if (${length} GREATER 1) + puts(${file} "\taspect = 1") + endif() + puts(${file} "}") +endfunction() + +# Fills arrays of modules, toolkits, dependency of modules/toolkits etc +function (OCCDoc_LoadData) + #toolkits_in_module + #toolkit_dependency + #toolkit_parent_module + #module_dependency + GET_OCCT_MODULES(modules) + set(MODULES ${modules} PARENT_SCOPE) + foreach (mod ${modules}) + set(${mod}_TOOLKITS "${${mod}_TOOLKITS}" PARENT_SCOPE) + foreach (tk ${${mod}_TOOLKITS}) + OCCT_TOOLKIT_DEP(${tk}) + foreach (dtk ${${tk}_DEPS}) + IS_OCCT_TOOLKIT(${dtk}) + if(${isFOUND} EQUAL -1) + list(REMOVE_ITEM ${tk}_DEPS ${dtk}) + endif() + endforeach() + set(${tk}_DEPS ${${tk}_DEPS} PARENT_SCOPE) + endforeach() + endforeach() + + # Get modules dependency + foreach (mod ${modules}) + set(${mod}_DEPS) + foreach (tk ${${mod}_TOOLKITS}) + foreach(dtk ${${tk}_DEPS}) + IS_OCCT_TOOLKIT(${dtk}) + if(NOT ${isFOUND} EQUAL -1) + if(NOT "${mod}" STREQUAL "${isFOUND}") + list(APPEND ${mod}_DEPS "${isFOUND}") + endif() + endif() + endforeach() + endforeach() + list(LENGTH ${mod}_DEPS length) + if(NOT ${length} EQUAL 0) + list(REMOVE_DUPLICATES ${mod}_DEPS) + endif() + set(${mod}_DEPS ${${mod}_DEPS} PARENT_SCOPE) + endforeach() +endfunction() + +# Returns list of packages of the given toolkit +function (OCCDoc_GetExternLibList theToolkit theExternLibs) + OCCDoc_GetRootDir(theRoot) + # Open file with list of packages of the given toolkit + file(READ "${theRoot}/src/${theToolkit}/EXTERNLIB" CONTENT) + set(${theExternLibs} ${CONTENT} PARENT_SCOPE) +endfunction() + +# Returns list of packages of the given toolkit +function (OCC_GetUnitType theName theResult) + OCCDoc_GetRootDir(theRoot) + # Open file with list of packages of the given toolkit + set(aType "") + if(EXISTS "${theRoot}/adm/UDLIST") + file(STRINGS "${theRoot}/adm/UDLIST" CONTENT REGEX ". ${theName}") + endif() + string(SUBSTRING "${CONTENT}" 0 1 aType) + set(${theResult} "${aType}" PARENT_SCOPE) +endfunction() + +# Returns list of packages of the given toolkit +function (OCCDoc_GetPackagesList theToolkit thePackages) + OCCDoc_GetRootDir(theRoot) + # Open file with list of packages of the given toolkit + set(CONTENT "") + if(EXISTS "${theRoot}/src/${theToolkit}/PACKAGES") + file(STRINGS "${theRoot}/src/${theToolkit}/PACKAGES" CONTENT) + endif() + set(${thePackages} "${CONTENT}" PARENT_SCOPE) +endfunction() + +# Function to get toolkits dependencies from file src/TOOLKIT_NAME/EXTERNLIB. +# Creates _DEPS variable to store them. +function (OCCT_TOOLKIT_DEP TOOLKIT_NAME) + if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/src/${TOOLKIT_NAME}/EXTERNLIB") + set (MODULE_PATH_PREFIX ${BUILD_PATCH_DIR}) + elseif (EXISTS "${CMAKE_SOURCE_DIR}/src/${TOOLKIT_NAME}/EXTERNLIB") + set (MODULE_PATH_PREFIX ${CMAKE_SOURCE_DIR}) + else() + RETURN() + endif() + file (STRINGS "${MODULE_PATH_PREFIX}/src/${TOOLKIT_NAME}/EXTERNLIB" CONTENT) + set (${TOOLKIT_NAME}_DEPS ${CONTENT} PARENT_SCOPE) +endfunction() + +# Function to determine if TOOLKIT is OCC toolkit +# Creates "isFOUND" variable to store result +function (IS_OCCT_TOOLKIT TOOLKIT_NAME) + set (isFOUND -1 PARENT_SCOPE) + GET_OCCT_MODULES(MODULES) + foreach(MODULE ${MODULES}) + set(TOOLKITS ${${MODULE}_TOOLKITS}) + list(FIND TOOLKITS ${TOOLKIT_NAME} isOK) + if (NOT ${isOK} EQUAL -1) + set (isFOUND "${MODULE}" PARENT_SCOPE) + return() + endif() + endforeach(MODULE) +endfunction() + +# Function to get list of modules and toolkits from file adm/MODULES. +# Creates list <${MODULES_LIST}> to store list of MODULES and +# _TOOLKITS foreach module to store its toolkits. +function (GET_OCCT_MODULES MODULES_LIST) + set (MODULE_PATH_POSTFIX "/adm/MODULES") + if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}${MODULE_PATH_POSTFIX}") + set (MODULE_PATH_PREFIX "${BUILD_PATCH_DIR}") + elseif (EXISTS "${CMAKE_SOURCE_DIR}${MODULE_PATH_POSTFIX}") + set (MODULE_PATH_PREFIX "${CMAKE_SOURCE_DIR}") + else() + RETURN() + endif() + + file (STRINGS "${MODULE_PATH_PREFIX}${MODULE_PATH_POSTFIX}" CONTENT) + + set (${MODULES_LIST}) + foreach (CONTENT_LINE ${CONTENT}) + string (REPLACE " " ";" CONTENT_LINE ${CONTENT_LINE}) + list (GET CONTENT_LINE 0 NAME_OF_MODULE) + list (REMOVE_AT CONTENT_LINE 0) + list (APPEND ${MODULES_LIST} ${NAME_OF_MODULE}) + set (${NAME_OF_MODULE}_TOOLKITS "${CONTENT_LINE}" PARENT_SCOPE) + endforeach() + + set (${MODULES_LIST} ${${MODULES_LIST}} PARENT_SCOPE) +endfunction() + +# Gets contents of the given html node (for Post-processing) +function(OCCDoc_GetNodeContents node props html theResult) + set (openTag "<${node}${props}>") + set (closingTag "") + string(FIND "${html}" "${openTag}" start) + if (${start} EQUAL -1) + set(theResult "" PARENT_SCOPE) + return() + endif() + string(LENGTH "${openTag}" length) + math(EXPR start "${start} + ${length}") + string(SUBSTRING "${html}" ${start} -1 html) + string(FIND "${html}" "${closingTag}" start) + if (${start} EQUAL -1) + set(theResult "" PARENT_SCOPE) + return() + endif() + math(EXPR start "${start} - 1") + string(SUBSTRING "${html}" 0 ${start} theResult) + set(theResult "" PARENT_SCOPE) +endfunction() + +# Generates main page file describing module structure +function (OCCDoc_MakeMainPage outDir outFile inModules) + set(inModules "${${inModules}}") + #env + set (module_prefix "module_") + set (toolkit_prefix "toolkit_") + set (package_prefix "package_") + + if (NOT EXISTS "${outDir}/html") + file(MAKE_DIRECTORY "${outDir}/html") + endif() + + OCCDoc_LoadData() + # Main page: list of modules + separate_arguments(inModules) + list(LENGTH inModules length) + if (NOT ${length} EQUAL 1) + puts (${outFile} "/**") + puts (${outFile} "\\mainpage Open CASCADE Technology") + foreach (mod ${inModules}) + string(TOLOWER "${module_prefix}${mod}" LowerString) + puts (${outFile} "\\li \\subpage ${LowerString}") + endforeach() + OCCDoc_CreateModulesDependencyGraph("${outDir}/html" "schema_all_modules" inModules ${module_prefix}) + # insert modules relationship diagramm + puts (${outFile} "\\dotfile schema_all_modules") + puts (${outFile} "**/") + endif() + + # One page per module: list of toolkits + set (toolkits) + foreach (mod ${inModules}) + puts (${outFile} "/**") + if (${length} EQUAL 1) + puts (${outFile} "\\mainpage OCCT Module ${mod}") + else() + string(TOLOWER "module_${mod}" LowerString) + puts (${outFile} "\\page ${LowerString} Module ${mod}") + endif() + list(SORT ${mod}_TOOLKITS) + foreach (tk ${${mod}_TOOLKITS}) + OCC_GetUnitType("${tk}" theType) + if("${theType}" STREQUAL "t") + list(APPEND toolkits ${tk}) + string(TOLOWER "${toolkit_prefix}${tk}" LowerString) + puts (${outFile} "\\li \\subpage ${LowerString}") + endif() + endforeach() + OCCDoc_CreateModuleToolkitsDependencyGraph("${outDir}/html" "schema_${mod}" ${mod} ${toolkit_prefix}) + puts (${outFile} "\\dotfile schema_${mod}") + puts (${outFile} "**/") + endforeach() + + # One page per toolkit: list of packages + set (packages) + foreach (tk ${toolkits}) + puts (${outFile} "/**") + string(TOLOWER "toolkit_${tk}" LowerString) + puts (${outFile} "\\page ${LowerString} Toolkit ${tk}") + OCCDoc_GetPackagesList(${tk} ${tk}_PACKAGES) + list(SORT ${tk}_PACKAGES) + foreach (pk ${${tk}_PACKAGES}) + list(APPEND packages ${pk}) + string(TOLOWER "${package_prefix}${pk}" LowerString) + puts (${outFile} "\\li \\subpage ${LowerString}") + endforeach() + OCCDoc_CreateToolkitDependencyGraph("${outDir}/html" "schema_${tk}" "${tk}" "${toolkit_prefix}") + puts (${outFile} "\\dotfile schema_${tk}") + puts (${outFile} "**/") + endforeach() + + # One page per package: list of classes + foreach (pk ${packages}) + puts (${outFile} "/**") + string(TOLOWER "${package_prefix}${pk}" LowerString) + puts (${outFile} "\\page ${LowerString} Package ${pk}") + file(GLOB INC_FILES RELATIVE "${theRoot}/src/${pk}" "${theRoot}/src/${pk}/*.hxx") + foreach (hdr ${INC_FILES}) + string(FIND "${hdr}" "Handle_" isHandle) + if(NOT ${isHandle} EQUAL 0) + string(LENGTH "${hdr}" length) + math(EXPR length "${length} - 4") + string(SUBSTRING "${hdr}" 0 ${length} aName) + puts (${outFile} "\\li \\subpage ${aName}") + endif() + endforeach() + puts (${outFile} "**/") + endforeach() +endfunction() + +# Parses generated files to add a navigation path +function(OCCDoc_PostProcessor outDir) + string(TIMESTAMP time "%Y-%m-%d %H:%M") + puts("${time} Post-process is started ...") + set(outDir "${outDir}/html") + file(GLOB files "${outDir}/package_*") + list(LENGTH files length) + if (NOT ${length} EQUAL 0) + list(SORT files) + foreach(f ${files}) + file(READ ${f} packageFile) + OCCDoc_GetNodeContents("div" " id=\"nav-path\" class=\"navpath\"" "${packageFile}" navPath) + OCCDoc_GetNodeContents("div" " class=\"title\"" "${packageFile}" packageName) + get_filename_component(packageFileName "${f}" NAME) + # add package link to nav path + string(REPLACE "" "" navPath "${navPath}") + set (navPath "${navPath}
  • ${packageName}
  • \n ") + # get list of files to update + OCCDoc_GetNodeContents("div" " class=\"textblock\"" "${packageFile}" listContents) + OCCDoc_GetNodeContents("ul" "" "${listContents}" listContents) + foreach(line ${listContents}) + STRING(REGEX REPLACE ".*href=\"([^\"]+)\".*" "\\1" classFileName "${test}" ) + if (NOT "${classFileName}" STREQUAL "${line}") + # check if anchor is there + string(FIND "${classFileName}" "#" anchorPos) + if (NOT ${anchorPos} EQUAL -1) + math(EXPR anchorPos "${anchorPos} - 1") + string(SUBSTRING "${classFileName}" 0 ${anchorPos} classFileName) + endif() + + # read class file + set (classFilePnt "${outDir}/${classFileName}") + file(READ ${classFilePnt} classFile) + + # find position of content block + string(FIND "${classFile}" "
    " contentPos) + math(EXPR contentPos "${contentPos} - 1") + string(SUBSTRING "${classFile}" 0 ${contentPos} navPart) + + # position where to insert nav path + string(FIND "${navPart}" "
    " posToInsert REVERSE) + math(EXPR posToInsert "${posToInsert} - 1") + string(SUBSTRING "${classFile}" 0 ${posToInsert} prePart) + string(SUBSTRING "${classFile}" ${posToInsert} -1 postPart) + list(APPEND newClassFile "${prePart}" "
    " "${navPath}" "\n" "
    " "\n" "${postPart}") + + # write updated content + file(WRITE ${classFilePnt} "${newClassFile}") + file(APPEND ${classFilePnt} "${classFile}") + endif() + endforeach() + endforeach() + else() + puts ("no files found") + endif() +endfunction() + +# ====================================== +# User Guides-specific functions +# ====================================== + +# Loads a list of docfiles from file FILES.txt +function(OCCDoc_LoadFilesList) + OCCDoc_GetDoxDir(INPUTDIR) + + #available_docfiles + set (available_docfiles "") + # Read data from file + if ( EXISTS "${INPUTDIR}/FILES_HTML.txt" ) + file (STRINGS "${INPUTDIR}/FILES_HTML.txt" available_docfiles REGEX "^[^#]+") + else() + error("File FILES_HTML.txt was not found on this computer.\nAborting...") + endif() + set(available_docfiles "${available_docfiles}" PARENT_SCOPE) + + #available_pdf + set(available_pdf "") + # Read data from file + if ( EXISTS "${INPUTDIR}/FILES_PDF.txt" ) + file (STRINGS "${INPUTDIR}/FILES_PDF.txt" available_pdf REGEX "^[^#]+") + else() + error("File FILES_PDF.txt was not found on this computer.\nAborting...") + endif() + set(available_pdf "${available_pdf}" PARENT_SCOPE) +endfunction() + +# Writes new TeX file for conversion from tex to pdf for a specific doc +function(OCCDoc_MakeRefmanTex fileName latexDir verboseMode latexFilesList) + set(latexFilesList ${${latexFilesList}}) + if ( "${verboseMode}" STREQUAL "YES") + puts ("Info: Making refman.tex file for ${fileName}...") + endif() + set (DOCNAME "${latexDir}/refman.tex") + if (EXISTS ${DOCNAME}) + file(REMOVE ${DOCNAME}) + endif() + + # Copy template file to latex folder + OCCDoc_GetDoxDir(temp_path) + + configure_file("${temp_path}/resources/occt_pdf_template.tex" "${DOCNAME}" COPYONLY) + + # Get templatized data + file(READ ${DOCNAME} texfile_loaded) + + # Replace dummy values + OCCDoc_DetectCasVersion(casVersion) + + # Get name of the document + set (docLabel "") + foreach (aFileName ${latexFilesList}) + # Find the file in FILES_PDF.txt + string(REPLACE "/" ";" parsedFileName "${aFileName}") + separate_arguments(parsedFileName) + string(FIND "${fileName}" "__" aFirst) + math(EXPR aFirst "${aFirst} + 2") + string(SUBSTRING "${fileName}" ${aFirst} -1 newfileName) + list(FIND parsedFileName "${newfileName}.md" isFOUND) + if (NOT ${isFOUND} EQUAL -1) + OCCDoc_GetDoxDir(temp_path) + set (filepath "${temp_path}/${aFileName}") + if (EXISTS ${filepath}) + file(STRINGS "${filepath}" MDFile LIMIT_COUNT 1) + string(REPLACE "{" ";" MDFile "${MDFile}") + separate_arguments(MDFile) + list(GET MDFile 0 label) + set (docLabel "${label}") + break() + endif() + endif() + endforeach() + string(TIMESTAMP curYear "%Y") + string(REPLACE "DEFDOCLABEL" "${docLabel}" texfile_loaded "${texfile_loaded}") + string(REPLACE "DEFCASVERSION" "${casVersion}" texfile_loaded "${texfile_loaded}") + string(REPLACE "DEFFILENAME" "${fileName}" texfile_loaded "${texfile_loaded}") + string(REPLACE "DEFYEAR" "${curYear}" texfile_loaded "${texfile_loaded}") + # Get data + file(WRITE ${DOCNAME} "${texfile_loaded}") +endfunction() + +# Postprocesses generated TeX files +function(OCCDoc_ProcessTex texFiles latexDir verboseMode) + set(texFiles ${${texFiles}}) + foreach (TEX ${texFiles}) + if ("${verboseMode}" STREQUAL "YES") + puts("Info: Preprocessing file ${TEX}...") + endif() + + if (NOT EXISTS ${latexDir}/${TEX}) + error("Error: file ${TEX} does not exist.") + endif() + + file(STRINGS "${latexDir}/${TEX}" IN_F) + set(TEMP_LIST) + foreach(line ${IN_F}) + string(FIND "${line}" "\\includegraphics" includegraphicsPos) + string(FIND "${line}" "\\subsection" subsectionPos) + string(FIND "${line}" "\\subsubsection" subsubsectionPos) + string(FIND "${line}" "\\paragraph" paragraphPos) + + if (NOT ${includegraphicsPos} EQUAL -1) + # replace svg extension by pdf + string(REPLACE ".svg" ".pdf" line "${line}") + # Center images in TeX files + set(line "\\begin{center}\n ${line}\n\\end{center}") + elseif (NOT ${subsectionPos} EQUAL -1) + # Replace \subsection with \section tag + string(REPLACE "\\\\subsection" "\\\\section" line "${line}") + elseif (NOT ${subsubsectionPos} EQUAL -1) + # Replace \subsubsection with \subsection tag + string(REPLACE "\\\\subsubsection" "\\\\subsection" line "${line}") + elseif (NOT ${paragraphPos} EQUAL -1) + # Replace \paragraph with \subsubsection tag + string(REPLACE "\\\\paragraph" "\\\\subsubsection" line "${line}") + endif() + list(APPEND TEMP_LIST "${line}") + endforeach() + file(WRITE "${latexDir}/${TEX}" ${TEMP_LIST}) + endforeach() +endfunction() diff --git a/adm/templates/occt_macros.cmake b/adm/cmake/occt_macros.cmake similarity index 56% rename from adm/templates/occt_macros.cmake rename to adm/cmake/occt_macros.cmake index 2492316db7..a8e94c5bda 100644 --- a/adm/templates/occt_macros.cmake +++ b/adm/cmake/occt_macros.cmake @@ -1,5 +1,4 @@ # - macro (OCCT_CHECK_AND_UNSET VARNAME) if (DEFINED ${VARNAME}) unset (${VARNAME} CACHE) @@ -14,8 +13,10 @@ macro (OCCT_CHECK_AND_UNSET_GROUP VARNAME) OCCT_CHECK_AND_UNSET ("${VARNAME}_LIBRARY") OCCT_CHECK_AND_UNSET ("${VARNAME}_LIBRARY_DIR") - OCCT_CHECK_AND_UNSET ("${VARNAME}_DLL") - OCCT_CHECK_AND_UNSET ("${VARNAME}_DLL_DIR") + if (WIN32) + OCCT_CHECK_AND_UNSET ("${VARNAME}_DLL") + OCCT_CHECK_AND_UNSET ("${VARNAME}_DLL_DIR") + endif() endmacro() # BUILD_POSTFIX, IS_BUILD_DEBUG variables @@ -157,9 +158,27 @@ macro (OCCT_CONFIGURE_AND_INSTALL BEING_CONGIRUGED_FILE FINAL_NAME DESTINATION_P install(FILES "${OCCT_BINARY_DIR}/${FINAL_NAME}" DESTINATION "${DESTINATION_PATH}") endmacro() +macro (OCCT_COPY_FILE_OR_DIR BEING_COPIED_OBJECT DESTINATION_PATH) + # first of all, copy original files + file (COPY "${CMAKE_SOURCE_DIR}/${BEING_COPIED_OBJECT}" DESTINATION "${DESTINATION_PATH}") + + if (BUILD_PATCH_DIR AND EXISTS "${BUILD_PATCH_DIR}/${BEING_COPIED_OBJECT}") + # secondly, rewrite original files with patched ones + file (COPY "${BUILD_PATCH_DIR}/${BEING_COPIED_OBJECT}" DESTINATION "${DESTINATION_PATH}") + endif() +endmacro() + +macro (OCCT_CONFIGURE BEING_CONGIRUGED_FILE FINAL_NAME) + 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() + function (OCCT_IS_PRODUCT_REQUIRED CSF_VAR_NAME USE_PRODUCT) set (${USE_PRODUCT} OFF PARENT_SCOPE) - + if (NOT USED_TOOLKITS) message(STATUS "Warning: the list of being used toolkits is empty") else() @@ -180,22 +199,97 @@ function (OCCT_IS_PRODUCT_REQUIRED CSF_VAR_NAME USE_PRODUCT) endif() endfunction() +function (FILE_TO_LIST FILE_NAME FILE_CONTENT) + set (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() + set (${FILE_CONTENT} ${LOCAL_FILE_CONTENT} PARENT_SCOPE) +endfunction() +# Function to determine if TOOLKIT is OCCT toolkit +function (IS_OCCT_TOOLKIT TOOLKIT_NAME MODULES IS_TOOLKIT_FOUND) + set (${IS_TOOLKIT_FOUND} OFF PARENT_SCOPE) + foreach (MODULE ${${MODULES}}) + set (TOOLKITS ${${MODULE}_TOOLKITS}) + list (FIND TOOLKITS ${TOOLKIT_NAME} FOUND) + if (NOT ${FOUND} EQUAL -1) + set (${IS_TOOLKIT_FOUND} ON PARENT_SCOPE) + endif() + endforeach(MODULE) +endfunction() +# TOOLKIT_DEPS is defined with dependencies from file src/TOOLKIT_NAME/EXTERNLIB. +# CSF_ variables are ignored +function (OCCT_TOOLKIT_DEP TOOLKIT_NAME TOOLKIT_DEPS) + FILE_TO_LIST ("src/${TOOLKIT_NAME}/EXTERNLIB" FILE_CONTENT) + + #list (APPEND LOCAL_TOOLKIT_DEPS ${TOOLKIT_NAME}) + set (LOCAL_TOOLKIT_DEPS) + foreach (FILE_CONTENT_LINE ${FILE_CONTENT}) + string (REGEX MATCH "^TK" TK_FOUND ${FILE_CONTENT_LINE}) + if ("${FILE_CONTENT_LINE}" STREQUAL "DRAWEXE" OR NOT "${TK_FOUND}" STREQUAL "") + list (APPEND LOCAL_TOOLKIT_DEPS ${FILE_CONTENT_LINE}) + endif() + endforeach() + set (${TOOLKIT_DEPS} ${LOCAL_TOOLKIT_DEPS} PARENT_SCOPE) +endfunction() +# TOOLKIT_FULL_DEPS is defined with complete dependencies (all levels) +function (OCCT_TOOLKIT_FULL_DEP TOOLKIT_NAME TOOLKIT_FULL_DEPS) + # first level dependencies are stored in LOCAL_TOOLKIT_FULL_DEPS + OCCT_TOOLKIT_DEP (${TOOLKIT_NAME} LOCAL_TOOLKIT_FULL_DEPS) + + list (LENGTH LOCAL_TOOLKIT_FULL_DEPS LIST_LENGTH) + set (LIST_INDEX 0) + while (LIST_INDEX LESS LIST_LENGTH) + list (GET LOCAL_TOOLKIT_FULL_DEPS ${LIST_INDEX} CURRENT_TOOLKIT) + OCCT_TOOLKIT_DEP (${CURRENT_TOOLKIT} CURRENT_TOOLKIT_DEPS) + + # append toolkits are not contained + foreach (CURRENT_TOOLKIT_DEP ${CURRENT_TOOLKIT_DEPS}) + set (CURRENT_TOOLKIT_DEP_FOUND OFF) + foreach (LOCAL_TOOLKIT_FULL_DEP ${LOCAL_TOOLKIT_FULL_DEPS}) + if ("${CURRENT_TOOLKIT_DEP}" STREQUAL "${LOCAL_TOOLKIT_FULL_DEP}") + set (CURRENT_TOOLKIT_DEP_FOUND ON) + break() + endif() + endforeach() + if ("${CURRENT_TOOLKIT_DEP_FOUND}" STREQUAL "OFF") + list (APPEND LOCAL_TOOLKIT_FULL_DEPS ${CURRENT_TOOLKIT_DEP}) + endif() + endforeach() + # increment the list index + MATH(EXPR LIST_INDEX "${LIST_INDEX}+1") + # calculate new length + list (LENGTH LOCAL_TOOLKIT_FULL_DEPS LIST_LENGTH) + endwhile() + set (${TOOLKIT_FULL_DEPS} ${LOCAL_TOOLKIT_FULL_DEPS} PARENT_SCOPE) +endfunction() +# Function to get list of modules and toolkits from file adm/MODULES. +# Creates list <$MODULE_LIST> to store list of MODULES and +# _TOOLKITS foreach module to store its toolkits. +function (OCCT_MODULES_AND_TOOLKITS MODULE_LIST) + FILE_TO_LIST ("adm/MODULES" FILE_CONTENT) + + foreach (CONTENT_LINE ${FILE_CONTENT}) + string (REPLACE " " ";" CONTENT_LINE ${CONTENT_LINE}) + list (GET CONTENT_LINE 0 MODULE_NAME) + list (REMOVE_AT CONTENT_LINE 0) + list (APPEND ${MODULE_LIST} ${MODULE_NAME}) + # (!) REMOVE THE LINE BELOW (implicit variables) + set (${MODULE_NAME}_TOOLKITS ${CONTENT_LINE} PARENT_SCOPE) + endforeach() - - - - - - - + set (${MODULE_LIST} ${${MODULE_LIST}} PARENT_SCOPE) +endfunction() diff --git a/adm/templates/opencl.cmake b/adm/cmake/opencl.cmake similarity index 100% rename from adm/templates/opencl.cmake rename to adm/cmake/opencl.cmake diff --git a/adm/templates/tbb.cmake b/adm/cmake/tbb.cmake similarity index 88% rename from adm/templates/tbb.cmake rename to adm/cmake/tbb.cmake index 7b7da7b378..67bb90e537 100644 --- a/adm/templates/tbb.cmake +++ b/adm/cmake/tbb.cmake @@ -56,12 +56,12 @@ if (WIN32) endif() # tbb malloc shared library directory -if (NOT DEFINED 3RDPARTY_TBBMALLOC_DLL_DIR) +if (WIN32 AND NOT DEFINED 3RDPARTY_TBBMALLOC_DLL_DIR) set (3RDPARTY_TBBMALLOC_DLL_DIR "" CACHE FILEPATH "The directory containing tbb malloc shared library") endif() # include occt macros. compiler_bitness, os_wiht_bit, compiler and build_postfix -OCCT_INCLUDE_CMAKE_FILE ("adm/templates/occt_macros") +OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros") # search for product directory inside 3RDPARTY_DIR directory if (NOT 3RDPARTY_TBB_DIR AND 3RDPARTY_DIR) @@ -83,6 +83,7 @@ endif() # search for include directory in defined 3rdparty directory if (NOT 3RDPARTY_TBB_INCLUDE_DIR OR NOT EXISTS "${3RDPARTY_TBB_INCLUDE_DIR}") set (3RDPARTY_TBB_INCLUDE_DIR "3RDPARTY_TBB_INCLUDE_DIR-NOTFOUND" CACHE FILEPATH "The directory containing the headers of tbb" FORCE) + find_path (3RDPARTY_TBB_INCLUDE_DIR tbb/tbb.h PATHS "${3RDPARTY_TBB_DIR}/include" NO_DEFAULT_PATH) find_path (3RDPARTY_TBB_INCLUDE_DIR tbb/tbb.h PATHS "${3RDPARTY_TBB_DIR}/include") endif() @@ -103,6 +104,17 @@ OCCT_MAKE_BUILD_POSTFIX() # search for tbb and tbb malloc library in defined 3rdparty directory foreach (LIBRARY_NAME TBB TBBMALLOC) + if (NOT WIN32) + file (GLOB TBB_SUBDIRS RELATIVE ${3RDPARTY_TBB_DIR}/lib/${TBB_ARCH_NAME}/ ${3RDPARTY_TBB_DIR}/lib/${TBB_ARCH_NAME}/*) + list (SORT TBB_SUBDIRS) + list (REVERSE TBB_SUBDIRS) + list (LENGTH TBB_SUBDIRS TBB_SUBDIRS_LENGTH) + set (TBB_SUBDIR_FIRST "") + if (${TBB_SUBDIRS_LENGTH}) + list (GET TBB_SUBDIRS 0 TBB_SUBDIR_FIRST) + set (3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR "${3RDPARTY_TBB_DIR}/lib/${TBB_ARCH_NAME}/${TBB_SUBDIR_FIRST}") + endif() + endif() if (NOT 3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR) set (3RDPARTY_${LIBRARY_NAME}_LIBRARY "" CACHE FILEPATH "${LIBRARY_NAME} library" FORCE) elseif (3RDPARTY_${LIBRARY_NAME}_LIBRARY AND EXISTS "${3RDPARTY_${LIBRARY_NAME}_LIBRARY}") @@ -136,7 +148,8 @@ foreach (LIBRARY_NAME TBB TBBMALLOC) message (STATUS "Warning: debug version of ${LIBRARY_NAME} library isn't found (${LIBRARY_NAME}_debug) in ${3RDPARTY_TBB_DIR}/lib(d). Search for release one") endif() - find_library (3RDPARTY_${LIBRARY_NAME}_LIBRARY ${LIBRARY_NAME} + string (TOLOWER "${LIBRARY_NAME}" lower_LIBRARY_NAME) + find_library (3RDPARTY_${LIBRARY_NAME}_LIBRARY ${lower_LIBRARY_NAME} PATHS "${3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR}" "${3RDPARTY_TBB_DIR}/lib/${TBB_ARCH_NAME}/${TBB_COMPILER_FOLER}" @@ -149,13 +162,13 @@ foreach (LIBRARY_NAME TBB TBBMALLOC) if (NOT 3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR OR NOT EXISTS "${3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR}") get_filename_component(3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR "${3RDPARTY_${LIBRARY_NAME}_LIBRARY}" PATH) - set (3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR "${3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR}" CACHE FILEPATH "The directory containing ${LIBRARY_NAME} library" FORCE) endif() + set (3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR "${3RDPARTY_${LIBRARY_NAME}_LIBRARY_DIR}" CACHE FILEPATH "The directory containing ${LIBRARY_NAME} library" FORCE) # search for dll in defined 3rdparty directory (just for win case) if (WIN32) set (CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".dll") - + if (NOT 3RDPARTY_${LIBRARY_NAME}_DLL_DIR) set (3RDPARTY_${LIBRARY_NAME}_DLL "" CACHE FILEPATH "${LIBRARY_NAME} shared library" FORCE) elseif (3RDPARTY_${LIBRARY_NAME}_DLL AND EXISTS "${3RDPARTY_${LIBRARY_NAME}_DLL}") @@ -197,7 +210,7 @@ foreach (LIBRARY_NAME TBB TBBMALLOC) find_library (3RDPARTY_${LIBRARY_NAME}_DLL ${LIBRARY_NAME}) endif() endif() - + if (NOT 3RDPARTY_${LIBRARY_NAME}_DLL_DIR OR NOT EXISTS "${3RDPARTY_${LIBRARY_NAME}_DLL_DIR}") get_filename_component(3RDPARTY_${LIBRARY_NAME}_DLL_DIR "${3RDPARTY_${LIBRARY_NAME}_DLL}" PATH) set (3RDPARTY_${LIBRARY_NAME}_DLL_DIR "${3RDPARTY_${LIBRARY_NAME}_DLL_DIR}" CACHE FILEPATH "The directory containing ${LIBRARY_NAME} shared library" FORCE) @@ -234,7 +247,10 @@ if (INSTALL_TBB) if (WIN32) install (FILES ${3RDPARTY_TBB_DLL} ${3RDPARTY_TBBMALLOC_DLL} DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}") else() - install (FILES ${3RDPARTY_TBB_LIBRARY} ${3RDPARTY_TBBMALLOC_LIBRARY} DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}") + get_filename_component(TBBLIB ${3RDPARTY_TBB_LIBRARY} NAME) + get_filename_component(TBBMALLOCLIB ${3RDPARTY_TBBMALLOC_LIBRARY} NAME) + install (FILES ${3RDPARTY_TBB_LIBRARY}.2 DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}" RENAME ${TBBLIB}.2) + install (FILES ${3RDPARTY_TBBMALLOC_LIBRARY}.2 DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}" RENAME ${TBBMALLOCLIB}.2) endif() set (USED_3RDPARTY_TBB_DIR "") diff --git a/adm/templates/tcl.cmake b/adm/cmake/tcl.cmake similarity index 95% rename from adm/templates/tcl.cmake rename to adm/cmake/tcl.cmake index b5306f88d6..9fe2a41c10 100644 --- a/adm/templates/tcl.cmake +++ b/adm/cmake/tcl.cmake @@ -88,10 +88,10 @@ macro (DIR_SUBDIR_FILE_FIT LIBNAME) else() set (3RDPARTY_${LIBNAME}_INCLUDE_DIR "" CACHE FILEPATH "The directory containing headers of ${LIBNAME}" FORCE) endif() - + # tcl/tk library dir if (3RDPARTY_${LIBNAME}_LIBRARY_DIR AND EXISTS "${3RDPARTY_${LIBNAME}_LIBRARY_DIR}") - + string (REGEX MATCH "${3RDPARTY_TCL_DIR}" DOES_PATH_CONTAIN "${3RDPARTY_${LIBNAME}_LIBRARY_DIR}") if (NOT DOES_PATH_CONTAIN) set (3RDPARTY_${LIBNAME}_LIBRARY_DIR "" CACHE FILEPATH "The directory containing ${LIBNAME} library" FORCE) @@ -168,14 +168,14 @@ foreach (LIBNAME TCL TK) if (NOT 3RDPARTY_${LIBNAME}_LIBRARY) if (${LIBNAME}_LIBRARY AND EXISTS "${${LIBNAME}_LIBRARY}") set (3RDPARTY_${LIBNAME}_LIBRARY "${${LIBNAME}_LIBRARY}" CACHE FILEPATH "${LIBNAME} library" FORCE) - + if (NOT 3RDPARTY_${LIBNAME}_LIBRARY_DIR) get_filename_component (3RDPARTY_${LIBNAME}_LIBRARY_DIR "${3RDPARTY_${LIBNAME}_LIBRARY}" PATH) set (3RDPARTY_${LIBNAME}_LIBRARY_DIR "${3RDPARTY_${LIBNAME}_LIBRARY_DIR}" CACHE FILEPATH "The directory containing ${LIBNAME} library" FORCE) endif() endif() endif() - + if (WIN32) if (NOT 3RDPARTY_${LIBNAME}_DLL) @@ -190,7 +190,7 @@ foreach (LIBNAME TCL TK) get_filename_component (3RDPARTY_${LIBNAME}_LIBRARY_DIR_PARENT "${3RDPARTY_${LIBNAME}_LIBRARY_DIR}" PATH) set (DLL_FOLDER_FOR_SEARCH "${3RDPARTY_${LIBNAME}_LIBRARY_DIR_PARENT}/bin") endif() - + set (3RDPARTY_${LIBNAME}_DLL "3RDPARTY_${LIBNAME}_DLL-NOTFOUND" CACHE FILEPATH "${LIBNAME} shared library" FORCE) find_library (3RDPARTY_${LIBNAME}_DLL NAMES ${LIBNAME_L}86 ${LIBNAME_L}85 PATHS "${DLL_FOLDER_FOR_SEARCH}" @@ -199,7 +199,7 @@ foreach (LIBNAME TCL TK) endif() DIR_SUBDIR_FILE_FIT(${LIBNAME}) - + # tcl/tk dir and library if (NOT 3RDPARTY_${LIBNAME}_LIBRARY) @@ -207,17 +207,17 @@ foreach (LIBNAME TCL TK) find_library (3RDPARTY_${LIBNAME}_LIBRARY NAMES ${LIBNAME_L}8.6 ${LIBNAME_L}86 ${LIBNAME_L}8.5 ${LIBNAME_L}85 PATHS "${3RDPARTY_${LIBNAME}_LIBRARY_DIR}" NO_DEFAULT_PATH) - + # search in another place if previous search doesn't find anything - find_library (3RDPARTY_${LIBNAME}_LIBRARY NAMES ${LIBNAME_L}8.6 ${LIBNAME_L}86 ${LIBNAME_L}8.5 ${LIBNAME_L}85 + find_library (3RDPARTY_${LIBNAME}_LIBRARY NAMES ${LIBNAME_L}8.6 ${LIBNAME_L}86 ${LIBNAME_L}8.5 ${LIBNAME_L}85 PATHS "${3RDPARTY_TCL_DIR}/lib" - NO_DEFAULT_PATH) - + NO_DEFAULT_PATH) + if (NOT 3RDPARTY_${LIBNAME}_LIBRARY OR NOT EXISTS "${3RDPARTY_${LIBNAME}_LIBRARY}") set (3RDPARTY_${LIBNAME}_LIBRARY "" CACHE FILEPATH "${LIBNAME} library" FORCE) endif() - + if (NOT 3RDPARTY_${LIBNAME}_LIBRARY_DIR AND 3RDPARTY_${LIBNAME}_LIBRARY) get_filename_component (3RDPARTY_${LIBNAME}_LIBRARY_DIR "${3RDPARTY_${LIBNAME}_LIBRARY}" PATH) set (3RDPARTY_${LIBNAME}_LIBRARY_DIR "${3RDPARTY_${LIBNAME}_LIBRARY_DIR}" CACHE FILEPATH "The directory containing ${LIBNAME} library" FORCE) @@ -228,14 +228,14 @@ foreach (LIBNAME TCL TK) if (3RDPARTY_${LIBNAME}_LIBRARY AND EXISTS "${3RDPARTY_${LIBNAME}_LIBRARY}") get_filename_component (${LIBNAME}_LIBRARY_NAME "${3RDPARTY_${LIBNAME}_LIBRARY}" NAME) string(REGEX REPLACE "^.*${LIBNAME_L}([0-9]\\.*[0-9]).*$" "\\1" ${LIBNAME}_LIBRARY_VERSION "${${LIBNAME}_LIBRARY_NAME}") - + if (NOT "${${LIBNAME}_LIBRARY_VERSION}" STREQUAL "${${LIBNAME}_LIBRARY_NAME}") set (3RDPARTY_${LIBNAME}_LIBRARY_VERSION "${${LIBNAME}_LIBRARY_VERSION}") else() # if the version isn't found - seek other library with 8.6 or 8.5 version in the same dir message (STATUS "Info: ${LIBNAME} version isn't found") endif() endif() - + set (3RDPARTY_${LIBNAME}_LIBRARY_VERSION_WITH_DOT "") if (3RDPARTY_${LIBNAME}_LIBRARY_VERSION) @@ -257,23 +257,23 @@ foreach (LIBNAME TCL TK) get_filename_component (3RDPARTY_${LIBNAME}_LIBRARY_DIR_PARENT "${3RDPARTY_${LIBNAME}_LIBRARY_DIR}" PATH) set (DLL_FOLDER_FOR_SEARCH "${3RDPARTY_${LIBNAME}_LIBRARY_DIR_PARENT}/bin") endif() - + set (3RDPARTY_${LIBNAME}_DLL "3RDPARTY_${LIBNAME}_DLL-NOTFOUND" CACHE FILEPATH "${LIBNAME} shared library" FORCE) find_library (3RDPARTY_${LIBNAME}_DLL NAMES ${LIBNAME_L}${3RDPARTY_${LIBNAME}_LIBRARY_VERSION} PATHS "${DLL_FOLDER_FOR_SEARCH}" NO_DEFAULT_PATH) - + if (NOT 3RDPARTY_${LIBNAME}_DLL OR NOT EXISTS "${3RDPARTY_${LIBNAME}_DLL}") set (3RDPARTY_${LIBNAME}_DLL "" CACHE FILEPATH "${LIBNAME} shared library" FORCE) endif() - + if (NOT 3RDPARTY_${LIBNAME}_DLL_DIR AND 3RDPARTY_${LIBNAME}_DLL) get_filename_component (3RDPARTY_${LIBNAME}_DLL_DIR "${3RDPARTY_${LIBNAME}_DLL}" PATH) set (3RDPARTY_${LIBNAME}_DLL_DIR "${3RDPARTY_${LIBNAME}_DLL_DIR}" CACHE FILEPATH "The directory containing ${LIBNAME} shared library" FORCE) endif() endif() endif() - + # include found paths to common variables if (3RDPARTY_${LIBNAME}_INCLUDE_DIR AND EXISTS "${3RDPARTY_${LIBNAME}_INCLUDE_DIR}") list (APPEND 3RDPARTY_INCLUDE_DIRS "${3RDPARTY_${LIBNAME}_INCLUDE_DIR}") @@ -297,7 +297,7 @@ endforeach() # install tcltk if (INSTALL_TCL) # include occt macros. compiler_bitness, os_wiht_bit, compiler and build_postfix - OCCT_INCLUDE_CMAKE_FILE ("adm/templates/occt_macros") + OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/occt_macros") OCCT_MAKE_OS_WITH_BITNESS() OCCT_MAKE_COMPILER_SHORT_NAME() @@ -305,8 +305,12 @@ if (INSTALL_TCL) if (WIN32) install (FILES ${3RDPARTY_TCL_DLL} ${3RDPARTY_TK_DLL} DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}") + install (FILES ${3RDPARTY_TCL_DLL_DIR}/zlib1.dll DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/bin${BUILD_POSTFIX}") else() - install (FILES ${3RDPARTY_TCL_LIBRARY} ${3RDPARTY_TK_LIBRARY} DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}") + get_filename_component(ABS_PATH ${3RDPARTY_TCL_LIBRARY} REALPATH) + install (FILES ${ABS_PATH} DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}") + get_filename_component(ABS_PATH ${3RDPARTY_TK_LIBRARY} REALPATH) + install (FILES ${ABS_PATH} DESTINATION "${INSTALL_DIR}/${OS_WITH_BIT}/${COMPILER}/lib${BUILD_POSTFIX}") endif() if (TCL_TCLSH_VERSION) diff --git a/adm/templates/vtk.cmake b/adm/cmake/vtk.cmake similarity index 98% rename from adm/templates/vtk.cmake rename to adm/cmake/vtk.cmake index 93c0635229..e0f8674c19 100644 --- a/adm/templates/vtk.cmake +++ b/adm/cmake/vtk.cmake @@ -70,9 +70,9 @@ endif() # vtk libraries # lib -set (VTK_LIBRARY_NAMES vtkCommonCore-${VTK_VERSION}.lib vtkCommonDataModel-${VTK_VERSION}.lib vtkCommonExecutionModel-${VTK_VERSION}.lib - vtkCommonMath-${VTK_VERSION}.lib vtkCommonTransforms-${VTK_VERSION}.lib vtkRenderingCore-${VTK_VERSION}.lib - vtkRenderingOpenGL-${VTK_VERSION}.lib vtkFiltersGeneral-${VTK_VERSION}.lib vtkIOCore-${VTK_VERSION}.lib +set (VTK_LIBRARY_NAMES vtkCommonCore-${VTK_VERSION}.lib vtkCommonDataModel-${VTK_VERSION}.lib vtkCommonExecutionModel-${VTK_VERSION}.lib + vtkCommonMath-${VTK_VERSION}.lib vtkCommonTransforms-${VTK_VERSION}.lib vtkRenderingCore-${VTK_VERSION}.lib + vtkRenderingOpenGL-${VTK_VERSION}.lib vtkFiltersGeneral-${VTK_VERSION}.lib vtkIOCore-${VTK_VERSION}.lib vtkIOImage-${VTK_VERSION}.lib vtkImagingCore-${VTK_VERSION}.lib vtkInteractionStyle-${VTK_VERSION}.lib ) #dll @@ -118,7 +118,7 @@ if (WIN32) endif() endif() endif() -endif() +endif() OCCT_CHECK_AND_UNSET(VTK_DIR) diff --git a/adm/templates/custom.bat.in b/adm/templates/custom.bat.in index 4ad4e2b750..bcf6361235 100644 --- a/adm/templates/custom.bat.in +++ b/adm/templates/custom.bat.in @@ -10,6 +10,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@" ) ) ) diff --git a/adm/templates/custom.sh.in b/adm/templates/custom.sh.in index 28209d2216..14a3c8440b 100644 --- a/adm/templates/custom.sh.in +++ b/adm/templates/custom.sh.in @@ -9,6 +9,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 fi diff --git a/adm/templates/draw.bat b/adm/templates/draw.bat index 9f92bc1a29..cb57d100ca 100644 --- a/adm/templates/draw.bat +++ b/adm/templates/draw.bat @@ -1,10 +1,10 @@ @echo off rem Setup environment and launch DRAWEXE -call "%~dp0env.bat" %1 %2 %3 +call "%~dp0env.bat" echo Hint: use "pload ALL" command to load standard commands -"%CASROOT%/%BIN_TAIL%/DRAWEXE.exe" +DRAWEXE.exe %* set "PATH=%ORIGIN_PATH%" diff --git a/adm/templates/env.build.bat.in b/adm/templates/env.build.bat.in new file mode 100644 index 0000000000..201c341f4e --- /dev/null +++ b/adm/templates/env.build.bat.in @@ -0,0 +1,73 @@ +echo off + +set "SCRIPTROOT=%~dp0" +set "SCRIPTROOT=%SCRIPTROOT:~0,-1%" + +set "CASROOT=@CMAKE_SOURCE_DIR@" + +set "VCVER=@COMPILER@" +set "ARCH=@COMPILER_BITNESS@" +set "CASDEB=@BUILD_POSTFIX@" + +if not ["%1"] == [""] set "VCVER=%1" +if not ["%2"] == [""] set "ARCH=%2" +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 exist "%~dp0custom.bat" ( + call "%~dp0custom.bat" %1 %2 %3 +) + +if ["%CASROOT%"] == [""] set "CASROOT=%SCRIPTROOT%" + +set "ORIGIN_PATH=%PATH%" + +if not ["%TCL_DIR%"] == [""] set "PATH=%TCL_DIR%;%PATH%" +if not ["%FREETYPE_DIR%"] == [""] set "PATH=%FREETYPE_DIR%;%PATH%" +if not ["%FREEIMAGE_DIR%"] == [""] set "PATH=%FREEIMAGE_DIR%;%PATH%" +if not ["%FREEIMAGEPLUS_DIR%"] == [""] set "PATH=%FREEIMAGEPLUS_DIR%;%PATH%" +if not ["%GL2PS_DIR%"] == [""] set "PATH=%GL2PS_DIR%;%PATH%" +if not ["%TBB_DIR%"] == [""] set "PATH=%TBB_DIR%;%PATH%" +if not ["%VTK_DIR%"] == [""] set "PATH=%VTK_DIR%;%PATH%" + +rem ----- Set path to 3rd party and OCCT libraries ----- +set "BIN_TAIL=win%ARCH%/%VCVER%/bin%CASDEB%" +set "PATH=@CMAKE_BINARY_DIR@/%BIN_TAIL%;%PATH%" + +rem ----- Set envoronment variables used by OCCT ----- +set CSF_LANGUAGE=us +set MMGT_CLEAR=1 +set CSF_EXCEPTION_PROMPT=1 +set "CSF_SHMessage=%CASROOT%\src\SHMessage" +set "CSF_MDTVTexturesDirectory=%CASROOT%\src\Textures" +set "CSF_ShadersDirectory=%CASROOT%\src\Shaders" +set "CSF_XSMessage=%CASROOT%\src\XSMessage" +set "CSF_TObjMessage=%CASROOT%\src\TObj" +set "CSF_StandardDefaults=%CASROOT%\src\StdResource" +set "CSF_PluginDefaults=%CASROOT%\src\StdResource" +set "CSF_XCAFDefaults=%CASROOT%\src\StdResource" +set "CSF_TObjDefaults=%CASROOT%\src\StdResource" +set "CSF_StandardLiteDefaults=%CASROOT%\src\StdResource" +set "CSF_UnitsLexicon=%CASROOT%\src\UnitsAPI\Lexi_Expr.dat" +set "CSF_UnitsDefinition=%CASROOT%\src\UnitsAPI\Units.dat" +set "CSF_IGESDefaults=%CASROOT%\src\XSTEPResource" +set "CSF_STEPDefaults=%CASROOT%\src\XSTEPResource" +set "CSF_XmlOcafResource=%CASROOT%\src\XmlOcafResource" +set "CSF_MIGRATION_TYPES=%CASROOT%\src\StdResource\MigrationSheet.txt" + +rem Draw Harness special stuff +if exist "%CASROOT%\src\DrawResources" ( + set "DRAWHOME=%CASROOT%\src\DrawResources" + set "CSF_DrawPluginDefaults=%CASROOT%\src\DrawResources" + + if exist "%CASROOT%\src\DrawResources\DrawDefault" ( + set "DRAWDEFAULT=%CASROOT%\src\DrawResources\DrawDefault" + ) +) + +if exist "%CASROOT%\src\DrawResourcesProducts" ( + set "CSF_DrawPluginProductsDefaults=%CASROOT%\src\DrawResourcesProducts" +) + diff --git a/adm/templates/env.build.sh.in b/adm/templates/env.build.sh.in new file mode 100644 index 0000000000..729835dfcc --- /dev/null +++ b/adm/templates/env.build.sh.in @@ -0,0 +1,119 @@ +#!/bin/bash + +aScriptPath=${BASH_SOURCE%/*}; if [ -d "${aScriptPath}" ]; then cd "$aScriptPath"; fi; aScriptPath="$PWD"; + +export CASROOT="@CMAKE_SOURCE_DIR@" + +if [ "${CASROOT}" == "" ]; then + export CASROOT="${aScriptPath}" +fi + +# Read script arguments +shopt -s nocasematch +export CASDEB="@BUILD_POSTFIX@"; +if [[ "$1" == "debug" ]]; then export CASDEB="d"; fi +if [[ "$1" == "d" ]]; then export CASDEB="d"; fi +shopt -u nocasematch + +export COMPILER="@COMPILER@" + +# ----- Set path to 3rd party and OCCT libraries ----- +anArch=`uname -m` +if [ "$anArch" != "x86_64" ] && [ "$anArch" != "ia64" ]; then + export ARCH="32"; +else + export ARCH="64"; +fi + +aSystem=`uname -s` +if [ "$aSystem" == "Darwin" ]; then + export WOKSTATION="mac"; + export ARCH="64"; +else + export WOKSTATION="lin"; +fi + +# ----- Set local settings ----- +if [ -e "${aScriptPath}/custom.sh" ]; then + source "${aScriptPath}/custom.sh" "${COMPILER}" "${WOKSTATION}${ARCH}" "${CASDEB}" +fi + +THRDPARTY_PATH="" +if [ "$TCL_DIR" != "" ]; then + THRDPARTY_PATH="${TCL_DIR}:${THRDPARTY_PATH}" +fi + +if [ "$FREETYPE_DIR" != "" ]; then + THRDPARTY_PATH="${FREETYPE_DIR}:${THRDPARTY_PATH}" +fi + +if [ "$FREEIMAGE_DIR" != "" ]; then + THRDPARTY_PATH="${FREEIMAGE_DIR}:${THRDPARTY_PATH}" +fi + +if [ "$GL2PS_DIR" != "" ]; then + THRDPARTY_PATH="${GL2PS_DIR}:${THRDPARTY_PATH}" +fi + +if [ "$TBB_DIR" != "" ]; then + THRDPARTY_PATH="${TBB_DIR}:${THRDPARTY_PATH}" +fi + +if [ "$VTK_DIR" != "" ]; then + THRDPARTY_PATH="${VTK_DIR}:${THRDPARTY_PATH}" +fi + +BIN_PATH="${WOKSTATION}${ARCH}/${COMPILER}/bin${CASDEB}" +LIBS_PATH="${WOKSTATION}${ARCH}/${COMPILER}/lib${CASDEB}" + +export PATH="@CMAKE_BINARY_DIR@/${BIN_PATH}:${PATH}" + +if [ "$LD_LIBRARY_PATH" != "" ]; then + export LD_LIBRARY_PATH="${CASROOT}/${LIBS_PATH}:${THRDPARTY_PATH}:${LD_LIBRARY_PATH}" +else + export LD_LIBRARY_PATH="${CASROOT}/${LIBS_PATH}:${THRDPARTY_PATH}" +fi + +if [ "$WOKSTATION" == "mac" ]; then + if [ "$DYLD_LIBRARY_PATH" != "" ]; then + export DYLD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${DYLD_LIBRARY_PATH}" + else + export DYLD_LIBRARY_PATH="${LD_LIBRARY_PATH}" + fi +fi + +# ----- Set envoronment variables used by OCCT ----- +export CSF_LANGUAGE=us +export MMGT_CLEAR=1 +export CSF_EXCEPTION_PROMPT=1 +export CSF_SHMessage="${CASROOT}/src/SHMessage" +export CSF_MDTVTexturesDirectory="${CASROOT}/src/Textures" +export CSF_ShadersDirectory="${CASROOT}/src/Shaders" +export CSF_XSMessage="${CASROOT}/src/XSMessage" +export CSF_TObjMessage="${CASROOT}/src/TObj" +export CSF_StandardDefaults="${CASROOT}/src/StdResource" +export CSF_PluginDefaults="${CASROOT}/src/StdResource" +export CSF_XCAFDefaults="${CASROOT}/src/StdResource" +export CSF_TObjDefaults="${CASROOT}/src/StdResource" +export CSF_StandardLiteDefaults="${CASROOT}/src/StdResource" +export CSF_UnitsLexicon="${CASROOT}/src/UnitsAPI/Lexi_Expr.dat" +export CSF_UnitsDefinition="${CASROOT}/src/UnitsAPI/Units.dat" +export CSF_IGESDefaults="${CASROOT}/src/XSTEPResource" +export CSF_STEPDefaults="${CASROOT}/src/XSTEPResource" +export CSF_XmlOcafResource="${CASROOT}/src/XmlOcafResource" +export CSF_MIGRATION_TYPES="${CASROOT}/src/StdResource/MigrationSheet.txt" + +# Draw Harness special stuff +if [ -e "${CASROOT}/src/DrawResources" ]; then + export DRAWHOME="${CASROOT}/src/DrawResources" + export CSF_DrawPluginDefaults="${CASROOT}/src/DrawResources" + + if [ -e "${CASROOT}/src/DrawResources/DrawDefault" ]; then + export DRAWDEFAULT="${CASROOT}/src/DrawResources/DrawDefault" + fi +fi + +if [ -e "${CASROOT}/src/DrawResourcesProducts" ]; then + export CSF_DrawPluginProductsDefaults="${CASROOT}/src/DrawResourcesProducts" +fi + diff --git a/samples/mfc/standard/01_Geometry/CMakeLists.txt b/samples/mfc/standard/01_Geometry/CMakeLists.txt index 051970a4c5..b64cb78cc3 100644 --- a/samples/mfc/standard/01_Geometry/CMakeLists.txt +++ b/samples/mfc/standard/01_Geometry/CMakeLists.txt @@ -73,7 +73,7 @@ install (TARGETS Geometry RUNTIME DESTINATION "${INSTALL_DIR}/win${COMPILER_BITN ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}" LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}") -include_directories (${OCCT_ROOT}/inc +include_directories (${CMAKE_SOURCE_DIR}/src ${Geometry_SRC_DIR} ${Geometry_ISESSION2D_DIR} ${Geometry_RESOURCE_DIR} diff --git a/samples/mfc/standard/02_Modeling/CMakeLists.txt b/samples/mfc/standard/02_Modeling/CMakeLists.txt index 7685dd5484..f1d7835bb3 100644 --- a/samples/mfc/standard/02_Modeling/CMakeLists.txt +++ b/samples/mfc/standard/02_Modeling/CMakeLists.txt @@ -43,7 +43,7 @@ install (TARGETS Modeling RUNTIME DESTINATION "${INSTALL_DIR}/win${COMPILER_BITN ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}" LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}") -include_directories (${OCCT_ROOT}/inc +include_directories (${CMAKE_SOURCE_DIR}/src ${MFC_STANDARD_SAMPLES_DIR}/02_Modeling ${Modeling_SRC_DIR} ${MFC_STANDARD_SAMPLES_DIR}/Common) diff --git a/samples/mfc/standard/03_Viewer2d/CMakeLists.txt b/samples/mfc/standard/03_Viewer2d/CMakeLists.txt index bf1b3bbc02..d27ceab9b5 100644 --- a/samples/mfc/standard/03_Viewer2d/CMakeLists.txt +++ b/samples/mfc/standard/03_Viewer2d/CMakeLists.txt @@ -39,7 +39,7 @@ install (TARGETS Viewer2d RUNTIME DESTINATION "${INSTALL_DIR}/win${COMPILER_BITN ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}" LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}") -include_directories (${OCCT_ROOT}/inc +include_directories (${CMAKE_SOURCE_DIR}/src ${MFC_STANDARD_SAMPLES_DIR}/03_Viewer2d ${Viewer2d_SOURCE_DIR} ${MFC_STANDARD_SAMPLES_DIR}/Common) diff --git a/samples/mfc/standard/04_Viewer3d/CMakeLists.txt b/samples/mfc/standard/04_Viewer3d/CMakeLists.txt index 67c8092c84..1c69940b07 100644 --- a/samples/mfc/standard/04_Viewer3d/CMakeLists.txt +++ b/samples/mfc/standard/04_Viewer3d/CMakeLists.txt @@ -67,7 +67,7 @@ install (TARGETS Viewer3d RUNTIME DESTINATION "${INSTALL_DIR}/win${COMPILER_BITN ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}" LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}") -include_directories (${OCCT_ROOT}/inc +include_directories (${CMAKE_SOURCE_DIR}/src ${Viewer3d_SRC_DIR} ${MFC_STANDARD_SAMPLES_DIR}/Common) diff --git a/samples/mfc/standard/05_ImportExport/CMakeLists.txt b/samples/mfc/standard/05_ImportExport/CMakeLists.txt index 5c47d366ef..366715bbe4 100644 --- a/samples/mfc/standard/05_ImportExport/CMakeLists.txt +++ b/samples/mfc/standard/05_ImportExport/CMakeLists.txt @@ -43,7 +43,7 @@ install (TARGETS ImportExport RUNTIME DESTINATION "${INSTALL_DIR}/win${COMPILER_ ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}" LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}") -include_directories (${OCCT_ROOT}/inc +include_directories (${CMAKE_SOURCE_DIR}/src ${MFC_STANDARD_SAMPLES_DIR}/05_ImportExport ${ImportExport_SRC_DIR} ${MFC_STANDARD_SAMPLES_DIR}/Common) diff --git a/samples/mfc/standard/06_Ocaf/CMakeLists.txt b/samples/mfc/standard/06_Ocaf/CMakeLists.txt index 4d70782685..9b995dda84 100644 --- a/samples/mfc/standard/06_Ocaf/CMakeLists.txt +++ b/samples/mfc/standard/06_Ocaf/CMakeLists.txt @@ -59,7 +59,7 @@ install (TARGETS Ocaf RUNTIME DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS} ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}" LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}") -include_directories (${OCCT_ROOT}/inc +include_directories (${CMAKE_SOURCE_DIR}/src ${MFC_STANDARD_SAMPLES_DIR}/06_Ocaf ${Ocaf_SRC_DIR} ${MFC_STANDARD_SAMPLES_DIR}/Common) diff --git a/samples/mfc/standard/07_Triangulation/CMakeLists.txt b/samples/mfc/standard/07_Triangulation/CMakeLists.txt index b85e1cbeb8..dfcc5ddacd 100644 --- a/samples/mfc/standard/07_Triangulation/CMakeLists.txt +++ b/samples/mfc/standard/07_Triangulation/CMakeLists.txt @@ -45,7 +45,7 @@ install (TARGETS Triangulation RUNTIME DESTINATION "${INSTALL_DIR}/win${COMPILER ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}" LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}") -include_directories (${OCCT_ROOT}/inc +include_directories (${CMAKE_SOURCE_DIR}/src ${MFC_STANDARD_SAMPLES_DIR}/07_Triangulation ${Triangulation_SRC_DIR} ${MFC_STANDARD_SAMPLES_DIR}/Common) diff --git a/samples/mfc/standard/08_HLR/CMakeLists.txt b/samples/mfc/standard/08_HLR/CMakeLists.txt index ed8853f24a..5bca499262 100644 --- a/samples/mfc/standard/08_HLR/CMakeLists.txt +++ b/samples/mfc/standard/08_HLR/CMakeLists.txt @@ -67,7 +67,7 @@ install (TARGETS HLR RUNTIME DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/ ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}" LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}") -include_directories (${OCCT_ROOT}/inc +include_directories (${CMAKE_SOURCE_DIR}/src ${HLR_RESOURCE_DIR} ${HLR_SRC_DIR} ${MFC_STANDARD_SAMPLES_DIR}/Common) diff --git a/samples/mfc/standard/09_Animation/CMakeLists.txt b/samples/mfc/standard/09_Animation/CMakeLists.txt index 82e6d14e21..6f57c73876 100644 --- a/samples/mfc/standard/09_Animation/CMakeLists.txt +++ b/samples/mfc/standard/09_Animation/CMakeLists.txt @@ -50,7 +50,7 @@ install (TARGETS Animation RUNTIME DESTINATION "${INSTALL_DIR}/win${COMPILER_BIT ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}" LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}") -include_directories (${OCCT_ROOT}/inc +include_directories (${CMAKE_SOURCE_DIR}/src ${Animation_RESOURCE_DIR} ${Animation_SRC_DIR} ${MFC_STANDARD_SAMPLES_DIR}/Common) diff --git a/samples/mfc/standard/10_Convert/CMakeLists.txt b/samples/mfc/standard/10_Convert/CMakeLists.txt index 8e6de1ebbf..5fe5625ab7 100644 --- a/samples/mfc/standard/10_Convert/CMakeLists.txt +++ b/samples/mfc/standard/10_Convert/CMakeLists.txt @@ -67,7 +67,7 @@ install (TARGETS Convert RUNTIME DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNE ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}" LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}") -include_directories (${OCCT_ROOT}/inc +include_directories (${CMAKE_SOURCE_DIR}/src ${Convert_SRC_DIR} ${ISESSION_SUBDIR} ${WNT_SUBDIR} diff --git a/samples/mfc/standard/mfcsample/CMakeLists.txt b/samples/mfc/standard/mfcsample/CMakeLists.txt index f41d243a52..bc484a28f0 100644 --- a/samples/mfc/standard/mfcsample/CMakeLists.txt +++ b/samples/mfc/standard/mfcsample/CMakeLists.txt @@ -142,7 +142,7 @@ install (TARGETS mfcsample RUNTIME DESTINATION "${INSTALL_DIR}/win${COMPILER_BIT ARCHIVE DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}" LIBRARY DESTINATION "${INSTALL_DIR}/win${COMPILER_BITNESS}/${COMPILER}/lib${BUILD_POSTFIX}") -include_directories( ${OCCT_ROOT}/inc +include_directories( ${CMAKE_SOURCE_DIR}/src ${MFC_STANDARD_COMMON_SAMPLES_DIR} ${COMMON_IE_DIR} ${COMMON_ISESSION2D_DIR} @@ -157,9 +157,7 @@ set (mfcsample_USED_LIBS TKVRML TKShHealing TKSTEP TKXSBase - TKShapeSchema FWOSPlugin - PTKernel TKBool TKCAF TKCDF @@ -174,9 +172,7 @@ set (mfcsample_USED_LIBS TKVRML TKMath TKOffset TKOpenGl - TKPCAF TKPrim - TKPShape TKService TKTopAlgo TKMesh diff --git a/src/Aspect/EXTERNLIB b/src/Aspect/EXTERNLIB deleted file mode 100644 index 990b6d9cb0..0000000000 --- a/src/Aspect/EXTERNLIB +++ /dev/null @@ -1 +0,0 @@ -CSF_XwLibs diff --git a/src/Aspect/FILES b/src/Aspect/FILES index 9a4c62b8f7..af1b456cbf 100755 --- a/src/Aspect/FILES +++ b/src/Aspect/FILES @@ -71,4 +71,3 @@ Aspect_WindowDefinitionError.hxx Aspect_WindowError.hxx Aspect_XAtom.hxx Aspect_XWD.hxx -EXTERNLIB diff --git a/src/BRepMesh/EXTERNLIB b/src/BRepMesh/EXTERNLIB deleted file mode 100755 index 50eb2e21ce..0000000000 --- a/src/BRepMesh/EXTERNLIB +++ /dev/null @@ -1 +0,0 @@ -CSF_TBB diff --git a/src/BRepMesh/FILES b/src/BRepMesh/FILES index b2b9adb1d7..ec39094842 100755 --- a/src/BRepMesh/FILES +++ b/src/BRepMesh/FILES @@ -53,4 +53,3 @@ BRepMesh_WireChecker.cxx BRepMesh_WireChecker.hxx BRepMesh_WireInterferenceChecker.cxx BRepMesh_WireInterferenceChecker.hxx -EXTERNLIB diff --git a/src/CDF/EXTERNLIB b/src/CDF/EXTERNLIB deleted file mode 100755 index e69de29bb2..0000000000 diff --git a/src/CDF/FILES b/src/CDF/FILES index 33996f669d..f705681227 100755 --- a/src/CDF/FILES +++ b/src/CDF/FILES @@ -26,4 +26,3 @@ CDF_Timer.cxx CDF_Timer.hxx CDF_TryStoreStatus.hxx CDF_TypeOfActivation.hxx -EXTERNLIB diff --git a/src/Cocoa/EXTERNLIB b/src/Cocoa/EXTERNLIB deleted file mode 100755 index 321718aa05..0000000000 --- a/src/Cocoa/EXTERNLIB +++ /dev/null @@ -1,3 +0,0 @@ -CSF_objc -CSF_Appkit -CSF_IOKit diff --git a/src/Cocoa/FILES b/src/Cocoa/FILES index a8951ec1bd..39258e33e3 100755 --- a/src/Cocoa/FILES +++ b/src/Cocoa/FILES @@ -2,4 +2,3 @@ Cocoa_LocalPool.hxx Cocoa_LocalPool.mm Cocoa_Window.hxx Cocoa_Window.mm -EXTERNLIB diff --git a/src/DDataStd/EXTERNLIB b/src/DDataStd/EXTERNLIB deleted file mode 100755 index 81ee52346a..0000000000 --- a/src/DDataStd/EXTERNLIB +++ /dev/null @@ -1 +0,0 @@ -TKDraw diff --git a/src/DDataStd/FILES b/src/DDataStd/FILES index dfa0f32e66..e0cc97bb35 100755 --- a/src/DDataStd/FILES +++ b/src/DDataStd/FILES @@ -15,4 +15,3 @@ DDataStd_TreeBrowser.cxx DDataStd_TreeBrowser.hxx DDataStd_TreeBrowser.tcl DDataStd_TreeCommands.cxx -EXTERNLIB diff --git a/src/DRAWEXE/CMakeLists.txt b/src/DRAWEXE/CMakeLists.txt new file mode 100644 index 0000000000..ded57925ae --- /dev/null +++ b/src/DRAWEXE/CMakeLists.txt @@ -0,0 +1,9 @@ +project(DRAWEXE) + +set (isEXE TRUE) + +set (TOOLKIT_MODULES + DRAWEXE +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/Draw/EXTERNLIB b/src/Draw/EXTERNLIB deleted file mode 100755 index 7f11200698..0000000000 --- a/src/Draw/EXTERNLIB +++ /dev/null @@ -1,9 +0,0 @@ -CSF_TclLibs -CSF_TclTkLibs -CSF_gdi32 -CSF_advapi32 -CSF_user32 -CSF_TBB -CSF_objc -CSF_Appkit -CSF_IOKit diff --git a/src/Draw/FILES b/src/Draw/FILES index 8a3c8acc2e..b4eb578743 100755 --- a/src/Draw/FILES +++ b/src/Draw/FILES @@ -72,7 +72,6 @@ Draw_Window.cxx Draw_Window.hxx Draw_Window_1.mm DrawRessource.h -EXTERNLIB init.cxx init.h MainWindow.cxx diff --git a/src/FWOSPlugin/CMakeLists.txt b/src/FWOSPlugin/CMakeLists.txt new file mode 100644 index 0000000000..0cea1670b4 --- /dev/null +++ b/src/FWOSPlugin/CMakeLists.txt @@ -0,0 +1,7 @@ +project(FWOSPlugin) + +set (TOOLKIT_MODULES + FWOSDriver +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/Font/EXTERNLIB b/src/Font/EXTERNLIB deleted file mode 100644 index 026ed1b574..0000000000 --- a/src/Font/EXTERNLIB +++ /dev/null @@ -1 +0,0 @@ -CSF_FREETYPE diff --git a/src/Font/FILES b/src/Font/FILES index 5a7b10cf2a..ecd9c6e8c4 100644 --- a/src/Font/FILES +++ b/src/Font/FILES @@ -1,4 +1,3 @@ -EXTERNLIB Font_BRepFont.cxx Font_BRepFont.hxx Font_FontAspect.hxx diff --git a/src/GeomToStep/GeomToStep_MakeAxis1Placement.cxx b/src/GeomToStep/GeomToStep_MakeAxis1Placement.cxx index ecedc433f4..ac23ccbe6a 100644 --- a/src/GeomToStep/GeomToStep_MakeAxis1Placement.cxx +++ b/src/GeomToStep/GeomToStep_MakeAxis1Placement.cxx @@ -33,7 +33,7 @@ //============================================================================= GeomToStep_MakeAxis1Placement::GeomToStep_MakeAxis1Placement( const gp_Ax1& A) { -#include +#include "GeomToStep_MakeAxis1Placement_gen.pxx" } //============================================================================= // Creation d' un axis1_placement de prostep a partir d' un Ax2d de gp @@ -41,7 +41,7 @@ GeomToStep_MakeAxis1Placement::GeomToStep_MakeAxis1Placement( const gp_Ax1& A) GeomToStep_MakeAxis1Placement::GeomToStep_MakeAxis1Placement( const gp_Ax2d& A) { -#include +#include "GeomToStep_MakeAxis1Placement_gen.pxx" } //============================================================================= @@ -54,7 +54,7 @@ GeomToStep_MakeAxis1Placement::GeomToStep_MakeAxis1Placement { gp_Ax1 A; A = Axis1->Ax1(); -#include +#include "GeomToStep_MakeAxis1Placement_gen.pxx" } //============================================================================= @@ -67,7 +67,7 @@ GeomToStep_MakeAxis1Placement::GeomToStep_MakeAxis1Placement { gp_Ax2d A; A = Axis1->Ax2d(); -#include +#include "GeomToStep_MakeAxis1Placement_gen.pxx" } //============================================================================= diff --git a/src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnots.cxx b/src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnots.cxx index aed3a1b0bd..99971416ed 100644 --- a/src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnots.cxx +++ b/src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnots.cxx @@ -41,7 +41,7 @@ GeomToStep_MakeBSplineCurveWithKnots:: { #define Array1OfPnt_gen TColgp_Array1OfPnt -#include +#include "GeomToStep_MakeBSplineCurveWithKnots_gen.pxx" #undef Array1OfPnt_gen } //============================================================================= @@ -55,7 +55,7 @@ GeomToStep_MakeBSplineCurveWithKnots:: { #define Array1OfPnt_gen TColgp_Array1OfPnt2d -#include +#include "GeomToStep_MakeBSplineCurveWithKnots_gen.pxx" #undef Array1OfPnt_gen } diff --git a/src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnotsAndRationalBSplineCurve.cxx b/src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnotsAndRationalBSplineCurve.cxx index 91a1cbe9a8..edb9f4e9b5 100644 --- a/src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnotsAndRationalBSplineCurve.cxx +++ b/src/GeomToStep/GeomToStep_MakeBSplineCurveWithKnotsAndRationalBSplineCurve.cxx @@ -41,7 +41,7 @@ GeomToStep_MakeBSplineCurveWithKnotsAndRationalBSplineCurve:: { #define Array1OfPnt_gen TColgp_Array1OfPnt -#include +#include "GeomToStep_MakeBSplineCurveWithKnotsAndRationalBSplineCurve_gen.pxx" #undef Array1OfPnt_gen } //============================================================================= @@ -55,7 +55,7 @@ GeomToStep_MakeBSplineCurveWithKnotsAndRationalBSplineCurve:: { #define Array1OfPnt_gen TColgp_Array1OfPnt2d -#include +#include "GeomToStep_MakeBSplineCurveWithKnotsAndRationalBSplineCurve_gen.pxx" #undef Array1OfPnt_gen } diff --git a/src/GeomToStep/GeomToStep_MakeCircle.cxx b/src/GeomToStep/GeomToStep_MakeCircle.cxx index f43fab92a8..0a19c5d2c8 100644 --- a/src/GeomToStep/GeomToStep_MakeCircle.cxx +++ b/src/GeomToStep/GeomToStep_MakeCircle.cxx @@ -34,7 +34,7 @@ //============================================================================= GeomToStep_MakeCircle::GeomToStep_MakeCircle( const gp_Circ& C) { -#include +#include "GeomToStep_MakeCircle_gen.pxx" } @@ -47,7 +47,7 @@ GeomToStep_MakeCircle::GeomToStep_MakeCircle( const Handle(Geom_Circle)& Cer) { gp_Circ C; C = Cer->Circ(); -#include +#include "GeomToStep_MakeCircle_gen.pxx" } diff --git a/src/GeomToStep/GeomToStep_MakeEllipse.cxx b/src/GeomToStep/GeomToStep_MakeEllipse.cxx index f7fabe6b68..e6a8a91ab4 100644 --- a/src/GeomToStep/GeomToStep_MakeEllipse.cxx +++ b/src/GeomToStep/GeomToStep_MakeEllipse.cxx @@ -34,7 +34,7 @@ //============================================================================= GeomToStep_MakeEllipse::GeomToStep_MakeEllipse( const gp_Elips& E) { -#include +#include "GeomToStep_MakeEllipse_gen.pxx" } @@ -47,7 +47,7 @@ GeomToStep_MakeEllipse::GeomToStep_MakeEllipse( const Handle(Geom_Ellipse)& Cer) { gp_Elips E; E = Cer->Elips(); -#include +#include "GeomToStep_MakeEllipse_gen.pxx" } diff --git a/src/GeomToStep/GeomToStep_MakeLine.cxx b/src/GeomToStep/GeomToStep_MakeLine.cxx index e3c3f88eef..99efdee53d 100644 --- a/src/GeomToStep/GeomToStep_MakeLine.cxx +++ b/src/GeomToStep/GeomToStep_MakeLine.cxx @@ -36,7 +36,7 @@ GeomToStep_MakeLine::GeomToStep_MakeLine( const gp_Lin& L) { #define Vec_gen gp_Vec -#include +#include "GeomToStep_MakeLine_gen.pxx" #undef Vec_gen } @@ -47,7 +47,7 @@ GeomToStep_MakeLine::GeomToStep_MakeLine( const gp_Lin& L) GeomToStep_MakeLine::GeomToStep_MakeLine( const gp_Lin2d& L) { #define Vec_gen gp_Vec2d -#include +#include "GeomToStep_MakeLine_gen.pxx" #undef Vec_gen } @@ -60,7 +60,7 @@ GeomToStep_MakeLine::GeomToStep_MakeLine ( const Handle(Geom_Line)& Gline) gp_Lin L; L = Gline->Lin(); #define Vec_gen gp_Vec -#include +#include "GeomToStep_MakeLine_gen.pxx" #undef Vec_gen } @@ -73,7 +73,7 @@ GeomToStep_MakeLine::GeomToStep_MakeLine ( const Handle(Geom2d_Line)& Gline) gp_Lin2d L; L = Gline->Lin2d(); #define Vec_gen gp_Vec2d -#include +#include "GeomToStep_MakeLine_gen.pxx" #undef Vec_gen } diff --git a/src/GeomToStep/GeomToStep_MakePolyline.cxx b/src/GeomToStep/GeomToStep_MakePolyline.cxx index ff92daa535..88eeaae174 100644 --- a/src/GeomToStep/GeomToStep_MakePolyline.cxx +++ b/src/GeomToStep/GeomToStep_MakePolyline.cxx @@ -32,7 +32,7 @@ GeomToStep_MakePolyline::GeomToStep_MakePolyline( const TColgp_Array1OfPnt& P) { gp_Pnt P1; -#include +#include "GeomToStep_MakePolyline_gen.pxx" } //============================================================================= @@ -42,7 +42,7 @@ GeomToStep_MakePolyline::GeomToStep_MakePolyline( const TColgp_Array1OfPnt& P) GeomToStep_MakePolyline::GeomToStep_MakePolyline( const TColgp_Array1OfPnt2d& P) { gp_Pnt2d P1; -#include +#include "GeomToStep_MakePolyline_gen.pxx" } //============================================================================= // renvoi des valeurs diff --git a/src/GeomToStep/GeomToStep_MakeVector.cxx b/src/GeomToStep/GeomToStep_MakeVector.cxx index 4e4f4bd221..cab2ece7a0 100644 --- a/src/GeomToStep/GeomToStep_MakeVector.cxx +++ b/src/GeomToStep/GeomToStep_MakeVector.cxx @@ -35,7 +35,7 @@ GeomToStep_MakeVector::GeomToStep_MakeVector( const gp_Vec& V) { gp_Dir D = gp_Dir(V); Standard_Real lFactor = UnitsMethods::LengthFactor(); -#include +#include "GeomToStep_MakeVector_gen.pxx" } //============================================================================= // Creation d' un vector de prostep a partir d' un Vec2d de gp @@ -45,7 +45,7 @@ GeomToStep_MakeVector::GeomToStep_MakeVector( const gp_Vec2d& V) { gp_Dir2d D = gp_Dir2d(V); Standard_Real lFactor = 1.; -#include +#include "GeomToStep_MakeVector_gen.pxx" } //============================================================================= @@ -59,7 +59,7 @@ GeomToStep_MakeVector::GeomToStep_MakeVector ( const Handle(Geom_Vector)& V = GVector->Vec(); gp_Dir D = gp_Dir(V); Standard_Real lFactor = UnitsMethods::LengthFactor(); -#include +#include "GeomToStep_MakeVector_gen.pxx" } //============================================================================= @@ -73,7 +73,7 @@ GeomToStep_MakeVector::GeomToStep_MakeVector ( const Handle(Geom2d_Vector)& V = GVector->Vec2d(); gp_Dir2d D = gp_Dir2d(V); Standard_Real lFactor = 1.; -#include +#include "GeomToStep_MakeVector_gen.pxx" } //============================================================================= diff --git a/src/Graphic3d/Graphic3d_CStructure.cxx b/src/Graphic3d/Graphic3d_CStructure.cxx index d5a76a9d46..415377650d 100644 --- a/src/Graphic3d/Graphic3d_CStructure.cxx +++ b/src/Graphic3d/Graphic3d_CStructure.cxx @@ -14,7 +14,7 @@ #include -#include +#include "Graphic3d_Structure.pxx" #include #include diff --git a/src/Graphic3d/Graphic3d_Group.cxx b/src/Graphic3d/Graphic3d_Group.cxx index 691e5d3201..6e8cf95e84 100644 --- a/src/Graphic3d/Graphic3d_Group.cxx +++ b/src/Graphic3d/Graphic3d_Group.cxx @@ -27,7 +27,7 @@ #include #include #include -#include +#include "Graphic3d_Structure.pxx" #include #include #include diff --git a/src/Graphic3d/Graphic3d_Structure.cxx b/src/Graphic3d/Graphic3d_Structure.cxx index 23d210a3b0..dffbf40d09 100644 --- a/src/Graphic3d/Graphic3d_Structure.cxx +++ b/src/Graphic3d/Graphic3d_Structure.cxx @@ -29,7 +29,7 @@ #include #include #include -#include +#include "Graphic3d_Structure.pxx" #include #include #include diff --git a/src/Graphic3d/Graphic3d_Structure.pxx b/src/Graphic3d/Graphic3d_Structure.pxx index a9fb02e64c..41acdc7aef 100644 --- a/src/Graphic3d/Graphic3d_Structure.pxx +++ b/src/Graphic3d/Graphic3d_Structure.pxx @@ -20,7 +20,7 @@ #define Structure_MAX_PRIORITY 10 #define Structure_MIN_PRIORITY 0 -#include +#include "Graphic3d_StructureManager.pxx" // structures identifiers : possible range // check the value of View_IDMAX (must be < Structure_IDMIN) diff --git a/src/Graphic3d/Graphic3d_StructureManager.cxx b/src/Graphic3d/Graphic3d_StructureManager.cxx index 66efb7d585..f7fafe78ed 100644 --- a/src/Graphic3d/Graphic3d_StructureManager.cxx +++ b/src/Graphic3d/Graphic3d_StructureManager.cxx @@ -30,7 +30,7 @@ #include #include #include -#include +#include "Graphic3d_StructureManager.pxx" #include #include @@ -38,7 +38,7 @@ static Standard_Boolean Initialisation = Standard_True; static int StructureManager_ArrayId[StructureManager_MAX]; static Standard_Integer StructureManager_CurrentId = 0; -#include +#include "Graphic3d_Structure.pxx" #include Graphic3d_StructureManager::Graphic3d_StructureManager (const Handle(Graphic3d_GraphicDriver)& theDriver) diff --git a/src/IVtkDraw/EXTERNLIB b/src/IVtkDraw/EXTERNLIB deleted file mode 100644 index 72e05d5843..0000000000 --- a/src/IVtkDraw/EXTERNLIB +++ /dev/null @@ -1 +0,0 @@ -CSF_VTK \ No newline at end of file diff --git a/src/IVtkDraw/FILES b/src/IVtkDraw/FILES index 6a15837c67..fe469fcd83 100644 --- a/src/IVtkDraw/FILES +++ b/src/IVtkDraw/FILES @@ -1,4 +1,3 @@ -EXTERNLIB IVtkDraw.cxx IVtkDraw.hxx IVtkDraw_HighlightAndSelectionPipeline.cxx diff --git a/src/IVtkTools/EXTERNLIB b/src/IVtkTools/EXTERNLIB deleted file mode 100644 index 72e05d5843..0000000000 --- a/src/IVtkTools/EXTERNLIB +++ /dev/null @@ -1 +0,0 @@ -CSF_VTK \ No newline at end of file diff --git a/src/IVtkTools/FILES b/src/IVtkTools/FILES index d5930174a5..b8207dd989 100644 --- a/src/IVtkTools/FILES +++ b/src/IVtkTools/FILES @@ -1,4 +1,3 @@ -EXTERNLIB IVtkTools.cxx IVtkTools.hxx IVtkTools_DisplayModeFilter.cxx diff --git a/src/IVtkVTK/EXTERNLIB b/src/IVtkVTK/EXTERNLIB deleted file mode 100644 index 72e05d5843..0000000000 --- a/src/IVtkVTK/EXTERNLIB +++ /dev/null @@ -1 +0,0 @@ -CSF_VTK \ No newline at end of file diff --git a/src/IVtkVTK/FILES b/src/IVtkVTK/FILES index b167161c3e..ce1dd91940 100644 --- a/src/IVtkVTK/FILES +++ b/src/IVtkVTK/FILES @@ -1,4 +1,3 @@ -EXTERNLIB IVtkVTK_ShapeData.cxx IVtkVTK_ShapeData.hxx IVtkVTK_View.cxx diff --git a/src/Image/EXTERNLIB b/src/Image/EXTERNLIB deleted file mode 100644 index 7e6a9150c4..0000000000 --- a/src/Image/EXTERNLIB +++ /dev/null @@ -1 +0,0 @@ -CSF_FreeImagePlus diff --git a/src/Image/FILES b/src/Image/FILES index ceb31a00af..6e8b75cd52 100755 --- a/src/Image/FILES +++ b/src/Image/FILES @@ -1,4 +1,3 @@ -EXTERNLIB Image_AlienPixMap.cxx Image_AlienPixMap.hxx Image_Color.hxx diff --git a/src/OSD/EXTERNLIB b/src/OSD/EXTERNLIB deleted file mode 100755 index ca15c4ddef..0000000000 --- a/src/OSD/EXTERNLIB +++ /dev/null @@ -1 +0,0 @@ -CSF_TBB \ No newline at end of file diff --git a/src/OSD/FILES b/src/OSD/FILES index a69a3ffa04..471e35a604 100755 --- a/src/OSD/FILES +++ b/src/OSD/FILES @@ -1,4 +1,3 @@ -EXTERNLIB OSD.cxx OSD.hxx OSD_Chronometer.cxx diff --git a/src/OpenGl/EXTERNLIB b/src/OpenGl/EXTERNLIB deleted file mode 100755 index 21580fc276..0000000000 --- a/src/OpenGl/EXTERNLIB +++ /dev/null @@ -1,11 +0,0 @@ -CSF_user32 -CSF_gdi32 -CSF_opengl32 -CSF_glu32 -CSF_objc -CSF_Appkit -CSF_IOKit -CSF_OpenGlLibs -CSF_AviLibs -CSF_FREETYPE -CSF_GL2PS diff --git a/src/OpenGl/FILES b/src/OpenGl/FILES index a8f1f5c7f1..26c048d062 100755 --- a/src/OpenGl/FILES +++ b/src/OpenGl/FILES @@ -1,4 +1,3 @@ -EXTERNLIB glext.h OpenGl_ArbDbg.hxx OpenGl_ArbFBO.hxx diff --git a/src/QABugs/EXTERNLIB b/src/QABugs/EXTERNLIB deleted file mode 100755 index 50eb2e21ce..0000000000 --- a/src/QABugs/EXTERNLIB +++ /dev/null @@ -1 +0,0 @@ -CSF_TBB diff --git a/src/QABugs/FILES b/src/QABugs/FILES index b1693822aa..e771130812 100644 --- a/src/QABugs/FILES +++ b/src/QABugs/FILES @@ -1,4 +1,3 @@ -EXTERNLIB QABugs.cxx QABugs.hxx QABugs_1.cxx diff --git a/src/QADraw/EXTERNLIB b/src/QADraw/EXTERNLIB deleted file mode 100644 index d5607c1225..0000000000 --- a/src/QADraw/EXTERNLIB +++ /dev/null @@ -1,6 +0,0 @@ -CSF_TclLibs -CSF_TclTkLibs -CSF_gdi32 -CSF_advapi32 -CSF_user32 - diff --git a/src/QADraw/FILES b/src/QADraw/FILES index 3e6d8bc4e3..e7e616ee07 100755 --- a/src/QADraw/FILES +++ b/src/QADraw/FILES @@ -1,4 +1,3 @@ -EXTERNLIB QADraw.cxx QADraw.hxx QADraw_Additional.cxx diff --git a/src/STEPConstruct/EXTERNLIB b/src/STEPConstruct/EXTERNLIB deleted file mode 100755 index 0a2e60e16e..0000000000 --- a/src/STEPConstruct/EXTERNLIB +++ /dev/null @@ -1 +0,0 @@ -CSF_wsock32 diff --git a/src/STEPConstruct/FILES b/src/STEPConstruct/FILES index c01590cf99..95b83dc3f4 100755 --- a/src/STEPConstruct/FILES +++ b/src/STEPConstruct/FILES @@ -1,4 +1,3 @@ -EXTERNLIB STEPConstruct.cxx STEPConstruct.hxx STEPConstruct_AP203Context.cxx diff --git a/src/Standard/EXTERNLIB b/src/Standard/EXTERNLIB deleted file mode 100755 index cac894d045..0000000000 --- a/src/Standard/EXTERNLIB +++ /dev/null @@ -1,4 +0,0 @@ -CSF_SOCKETLibs -CSF_ThreadLibs -CSF_kernel32 -CSF_TBB diff --git a/src/Standard/FILES b/src/Standard/FILES index c6745bf7be..7e701fae6b 100755 --- a/src/Standard/FILES +++ b/src/Standard/FILES @@ -1,4 +1,3 @@ -EXTERNLIB Standard.cxx Standard.hxx Standard_AbortiveTransaction.hxx diff --git a/src/TKBO/CMakeLists.txt b/src/TKBO/CMakeLists.txt new file mode 100644 index 0000000000..27514986ec --- /dev/null +++ b/src/TKBO/CMakeLists.txt @@ -0,0 +1,12 @@ +project(TKBO) + +set (TOOLKIT_MODULES + IntTools + BRepAlgoAPI + BOPCol + BOPDS + BOPAlgo + BOPTools +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKBRep/CMakeLists.txt b/src/TKBRep/CMakeLists.txt new file mode 100644 index 0000000000..95b5b687a2 --- /dev/null +++ b/src/TKBRep/CMakeLists.txt @@ -0,0 +1,14 @@ +project(TKBRep) + +set (TOOLKIT_MODULES + TopoDS + TopExp + TopTools + BRep + BRepLProp + BRepAdaptor + BRepTools + BinTools +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKBin/CMakeLists.txt b/src/TKBin/CMakeLists.txt new file mode 100644 index 0000000000..417665c973 --- /dev/null +++ b/src/TKBin/CMakeLists.txt @@ -0,0 +1,10 @@ +project(TKBin) + +set (TOOLKIT_MODULES + BinDrivers + BinMDataXtd + BinMPrsStd + BinMNaming +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKBinL/CMakeLists.txt b/src/TKBinL/CMakeLists.txt new file mode 100644 index 0000000000..6db83a8ea1 --- /dev/null +++ b/src/TKBinL/CMakeLists.txt @@ -0,0 +1,12 @@ +project(TKBinL) + +set (TOOLKIT_MODULES + BinMDF + BinMDataStd + BinMFunction + BinMDocStd + BinObjMgt + BinLDrivers +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKBinTObj/CMakeLists.txt b/src/TKBinTObj/CMakeLists.txt new file mode 100644 index 0000000000..64b3de6c72 --- /dev/null +++ b/src/TKBinTObj/CMakeLists.txt @@ -0,0 +1,7 @@ +project(TKBinTObj) + +set (TOOLKIT_MODULES + BinTObjDrivers +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKBinXCAF/CMakeLists.txt b/src/TKBinXCAF/CMakeLists.txt new file mode 100644 index 0000000000..9835abcf3f --- /dev/null +++ b/src/TKBinXCAF/CMakeLists.txt @@ -0,0 +1,8 @@ +project(TKBinXCAF) + +set (TOOLKIT_MODULES + BinXCAFDrivers + BinMXCAFDoc +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKBool/CMakeLists.txt b/src/TKBool/CMakeLists.txt new file mode 100644 index 0000000000..216f5cf00f --- /dev/null +++ b/src/TKBool/CMakeLists.txt @@ -0,0 +1,13 @@ +project(TKBool) + +set (TOOLKIT_MODULES + TopOpeBRep + TopOpeBRepDS + TopOpeBRepBuild + TopOpeBRepTool + BRepAlgo + BRepFill + BRepProj +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKCAF/CMakeLists.txt b/src/TKCAF/CMakeLists.txt new file mode 100644 index 0000000000..024a17d0dd --- /dev/null +++ b/src/TKCAF/CMakeLists.txt @@ -0,0 +1,10 @@ +project(TKCAF) + +set (TOOLKIT_MODULES + TDataXtd + TNaming + TPrsStd + AppStd +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKCDF/CMakeLists.txt b/src/TKCDF/CMakeLists.txt new file mode 100644 index 0000000000..6e33d7a8b5 --- /dev/null +++ b/src/TKCDF/CMakeLists.txt @@ -0,0 +1,11 @@ +project(TKCDF) + +set (TOOLKIT_MODULES + CDM + PCDM + CDF + UTL + LDOM +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKDCAF/CMakeLists.txt b/src/TKDCAF/CMakeLists.txt new file mode 100644 index 0000000000..1e8e0c3c83 --- /dev/null +++ b/src/TKDCAF/CMakeLists.txt @@ -0,0 +1,12 @@ +project(TKDCAF) + +set (TOOLKIT_MODULES + DDF + DDocStd + DNaming + DDataStd + DPrsStd + DrawDim +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKDraw/CMakeLists.txt b/src/TKDraw/CMakeLists.txt new file mode 100644 index 0000000000..e63ef73575 --- /dev/null +++ b/src/TKDraw/CMakeLists.txt @@ -0,0 +1,37 @@ +project(TKDraw) + +set (TOOLKIT_MODULES + Draw + DBRep + DrawTrSurf +) + +if (WIN32) + list( APPEND USED_LIBS gdi32.lib ) + list( APPEND USED_LIBS advapi32.lib ) + list( APPEND USED_LIBS user32.lib ) +elseif(APPLE) + find_library(FRAMEWORKS_TCL NAMES Tcl) + list( APPEND USED_LIBS ${FRAMEWORKS_TCL} ) + find_library(FRAMEWORKS_TK NAMES Tk) + list( APPEND USED_LIBS ${FRAMEWORKS_TK} ) + if(USE_TBB) + list( APPEND USED_LIBS tbb ) + list( APPEND USED_LIBS tbbmalloc ) + endif() + list( APPEND USED_LIBS objc ) + find_library(FRAMEWORKS_APPKIT NAMES Appkit) + list( APPEND USED_LIBS ${FRAMEWORKS_APPKIT} ) + find_library(FRAMEWORKS_IOKIT NAMES IOKit) + list( APPEND USED_LIBS ${FRAMEWORKS_IOKIT} ) +else() + list( APPEND USED_LIBS tcl8.6 ) + list( APPEND USED_LIBS X11 ) + list( APPEND USED_LIBS tk8.6 ) + if(USE_TBB) + list( APPEND USED_LIBS tbb ) + list( APPEND USED_LIBS tbbmalloc ) + endif() +endif() + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKFeat/CMakeLists.txt b/src/TKFeat/CMakeLists.txt new file mode 100644 index 0000000000..4fc453bc34 --- /dev/null +++ b/src/TKFeat/CMakeLists.txt @@ -0,0 +1,8 @@ +project(TKFeat) + +set (TOOLKIT_MODULES + LocOpe + BRepFeat +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKFillet/CMakeLists.txt b/src/TKFillet/CMakeLists.txt new file mode 100644 index 0000000000..b41e3efd55 --- /dev/null +++ b/src/TKFillet/CMakeLists.txt @@ -0,0 +1,15 @@ +project(TKFillet) + +set (TOOLKIT_MODULES + ChFiDS + ChFi2d + ChFi3d + ChFiKPart + Blend + BRepBlend + BlendFunc + BRepFilletAPI + FilletSurf +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKG2d/CMakeLists.txt b/src/TKG2d/CMakeLists.txt new file mode 100644 index 0000000000..0159004661 --- /dev/null +++ b/src/TKG2d/CMakeLists.txt @@ -0,0 +1,13 @@ +project(TKG2d) + +set (TOOLKIT_MODULES + Geom2d + LProp + TColGeom2d + Adaptor2d + Geom2dLProp + Geom2dAdaptor + GProp +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKG3d/CMakeLists.txt b/src/TKG3d/CMakeLists.txt new file mode 100644 index 0000000000..8bae786704 --- /dev/null +++ b/src/TKG3d/CMakeLists.txt @@ -0,0 +1,14 @@ +project(TKG3d) + +set (TOOLKIT_MODULES + Geom + TColGeom + GeomAdaptor + AdvApprox + GeomLProp + Adaptor3d + LProp3d + TopAbs +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKGeomAlgo/CMakeLists.txt b/src/TKGeomAlgo/CMakeLists.txt new file mode 100644 index 0000000000..965667709d --- /dev/null +++ b/src/TKGeomAlgo/CMakeLists.txt @@ -0,0 +1,39 @@ +project(TKGeomAlgo) + +set (TOOLKIT_MODULES + Hatch + GeomInt + IntStart + IntWalk + IntImp + IntCurveSurface + IntSurf + IntPatch + Geom2dInt + IntImpParGen + IntRes2d + IntCurve + TopTrans + Intf + ApproxInt + GccAna + GccEnt + GccInt + HatchGen + Geom2dHatch + Law + AppBlend + Plate + GeomPlate + LocalAnalysis + GeomAPI + GeomFill + Geom2dAPI + Geom2dGcc + FairCurve + NLPlate + IntPolyh + TopClass +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKGeomBase/CMakeLists.txt b/src/TKGeomBase/CMakeLists.txt new file mode 100644 index 0000000000..979f1a263c --- /dev/null +++ b/src/TKGeomBase/CMakeLists.txt @@ -0,0 +1,28 @@ +project(TKGeomBase) + +set (TOOLKIT_MODULES + ProjLib + GeomProjLib + GCPnts + CPnts + Approx + AppParCurves + FEmTool + AppCont + Extrema + IntAna + IntAna2d + GeomConvert + AdvApp2Var + GeomLib + Geom2dConvert + Hermit + BndLib + AppDef + GeomTools + GC + GCE2d + gce +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKHLR/CMakeLists.txt b/src/TKHLR/CMakeLists.txt new file mode 100644 index 0000000000..5d6f1dd532 --- /dev/null +++ b/src/TKHLR/CMakeLists.txt @@ -0,0 +1,14 @@ +project(TKHLR) + +set (TOOLKIT_MODULES + HLRTopoBRep + HLRBRep + HLRAlgo + HLRAppli + Intrv + TopBas + TopCnx + Contap +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKIGES/CMakeLists.txt b/src/TKIGES/CMakeLists.txt new file mode 100644 index 0000000000..f4675143ce --- /dev/null +++ b/src/TKIGES/CMakeLists.txt @@ -0,0 +1,24 @@ +project(TKIGES) + +set (TOOLKIT_MODULES + IGESData + IGESFile + IGESBasic + IGESGraph + IGESGeom + IGESDimen + IGESDraw + IGESSolid + IGESDefs + IGESAppli + IGESConvGeom + IGESSelect + IGESToBRep + GeomToIGES + Geom2dToIGES + BRepToIGES + BRepToIGESBRep + IGESControl +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKIVtk/CMakeLists.txt b/src/TKIVtk/CMakeLists.txt new file mode 100644 index 0000000000..555d2062ce --- /dev/null +++ b/src/TKIVtk/CMakeLists.txt @@ -0,0 +1,19 @@ +project(TKIVtk) + +set (TOOLKIT_MODULES + IVtk + IVtkOCC + IVtkVTK + IVtkTools +) + +if (WIN32) + list( APPEND USED_LIBS ${VTK_LIBRARY_NAMES} ) +else() + foreach(VTK_LIB_NAME ${VTK_LIBRARY_NAMES}) + string(REPLACE ".lib" ".so.1" VTK_LIB_NAME ${VTK_LIB_NAME}) + list( APPEND USED_LIBS "lib${VTK_LIB_NAME}") + endforeach() +endif() + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKIVtkDraw/CMakeLists.txt b/src/TKIVtkDraw/CMakeLists.txt new file mode 100644 index 0000000000..fe1a10cc12 --- /dev/null +++ b/src/TKIVtkDraw/CMakeLists.txt @@ -0,0 +1,16 @@ +project(TKIVtkDraw) + +set (TOOLKIT_MODULES + IVtkDraw +) + +if (WIN32) + list( APPEND USED_LIBS ${VTK_LIBRARY_NAMES} ) +else() + foreach(VTK_LIB_NAME ${VTK_LIBRARY_NAMES}) + string(REPLACE ".lib" ".so.1" VTK_LIB_NAME ${VTK_LIB_NAME}) + list( APPEND USED_LIBS "lib${VTK_LIB_NAME}") + endforeach() +endif() + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKLCAF/CMakeLists.txt b/src/TKLCAF/CMakeLists.txt new file mode 100644 index 0000000000..9c297d3ca7 --- /dev/null +++ b/src/TKLCAF/CMakeLists.txt @@ -0,0 +1,11 @@ +project(TKLCAF) + +set (TOOLKIT_MODULES + TDF + TDataStd + TFunction + TDocStd + AppStdL +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKMath/CMakeLists.txt b/src/TKMath/CMakeLists.txt new file mode 100644 index 0000000000..1e9319aa9c --- /dev/null +++ b/src/TKMath/CMakeLists.txt @@ -0,0 +1,24 @@ +project(TKMath) + +set (TOOLKIT_MODULES + math + ElCLib + ElSLib + BSplCLib + BSplSLib + PLib + Precision + GeomAbs + Poly + CSLib + Convert + Bnd + BVH + gp + TColgp + TopLoc + Expr + ExprIntrp +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKMesh/CMakeLists.txt b/src/TKMesh/CMakeLists.txt new file mode 100644 index 0000000000..bb9d8a8e45 --- /dev/null +++ b/src/TKMesh/CMakeLists.txt @@ -0,0 +1,14 @@ +project(TKMesh) + +set (TOOLKIT_MODULES + BRepMesh +) + +if(NOT WIN32) + if(USE_TBB) + list( APPEND USED_LIBS tbb ) + list( APPEND USED_LIBS tbbmalloc ) + endif() +endif() + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKMeshVS/CMakeLists.txt b/src/TKMeshVS/CMakeLists.txt new file mode 100644 index 0000000000..af9e7c2ad4 --- /dev/null +++ b/src/TKMeshVS/CMakeLists.txt @@ -0,0 +1,7 @@ +project(TKMeshVS) + +set (TOOLKIT_MODULES + MeshVS +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKOffset/CMakeLists.txt b/src/TKOffset/CMakeLists.txt new file mode 100644 index 0000000000..2e7a2a3ea2 --- /dev/null +++ b/src/TKOffset/CMakeLists.txt @@ -0,0 +1,10 @@ +project(TKOffset) + +set (TOOLKIT_MODULES + BRepOffsetAPI + Draft + BRepOffset + BiTgte +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKOpenGl/CMakeLists.txt b/src/TKOpenGl/CMakeLists.txt new file mode 100644 index 0000000000..bcb3ff3545 --- /dev/null +++ b/src/TKOpenGl/CMakeLists.txt @@ -0,0 +1,40 @@ +project(TKOpenGl) + +set (TOOLKIT_MODULES + OpenGl +) + +if (WIN32) + list( APPEND USED_LIBS opengl32.lib ) + list( APPEND USED_LIBS glu32.lib ) + list( APPEND USED_LIBS user32.lib ) + list( APPEND USED_LIBS gdi32.lib ) + list( APPEND USED_LIBS ws2_32.lib ) + list( APPEND USED_LIBS vfw32.lib ) +elseif(APPLE) + find_library(FRAMEWORKS_OPENGL NAMES OpenGL) + if(USE_GLX) + list( APPEND USED_LIBS GL ) + list( APPEND USED_LIBS GLU ) + else() + list( APPEND USED_LIBS ${FRAMEWORKS_OPENGL} ) + endif() + list( APPEND USED_LIBS objc ) + find_library(FRAMEWORKS_APPKIT NAMES Appkit) + list( APPEND USED_LIBS ${FRAMEWORKS_APPKIT} ) + find_library(FRAMEWORKS_IOKIT NAMES IOKit) + list( APPEND USED_LIBS ${FRAMEWORKS_IOKIT} ) + list( APPEND USED_LIBS freetype ) +else() + list( APPEND USED_LIBS GLU ) + list( APPEND USED_LIBS GL ) + list( APPEND USED_LIBS freetype ) +endif() + +if (NOT WIN32) + if(USE_GL2PS) + list( APPEND USED_LIBS gl2ps ) + endif() +endif() + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKPrim/CMakeLists.txt b/src/TKPrim/CMakeLists.txt new file mode 100644 index 0000000000..fc9347353d --- /dev/null +++ b/src/TKPrim/CMakeLists.txt @@ -0,0 +1,10 @@ +project(TKPrim) + +set (TOOLKIT_MODULES + BRepPrim + BRepSweep + Sweep + BRepPrimAPI +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKQADraw/CMakeLists.txt b/src/TKQADraw/CMakeLists.txt new file mode 100644 index 0000000000..78c03b0268 --- /dev/null +++ b/src/TKQADraw/CMakeLists.txt @@ -0,0 +1,31 @@ +project(TKQADraw) + +set (TOOLKIT_MODULES + QABugs + QADNaming + QADraw + QANCollection + QANewBRepNaming + QANewDBRepNaming + QANewModTopOpe +) + +if (WIN32) + list( APPEND USED_LIBS gdi32.lib ) + list( APPEND USED_LIBS advapi32.lib ) + list( APPEND USED_LIBS user32.lib ) +else() + if(USE_TBB) + list( APPEND USED_LIBS tbb ) + list( APPEND USED_LIBS tbbmalloc ) + endif() +endif() + +if(MSVC) + # /bigobj is required for windows builds because of the size of + # some object files (CastImage for instance) + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /bigobj") +endif() + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKSTEP/CMakeLists.txt b/src/TKSTEP/CMakeLists.txt new file mode 100644 index 0000000000..dc02e34478 --- /dev/null +++ b/src/TKSTEP/CMakeLists.txt @@ -0,0 +1,23 @@ +project(TKSTEP) + +set (TOOLKIT_MODULES + StepAP214 + RWStepAP214 + StepAP203 + RWStepAP203 + STEPConstruct + STEPEdit + GeomToStep + StepToGeom + StepToTopoDS + TopoDSToStep + STEPControl + STEPSelections + StepAP209 +) + +if (WIN32) + list( APPEND USED_LIBS wsock32.lib ) +endif() + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKSTEP209/CMakeLists.txt b/src/TKSTEP209/CMakeLists.txt new file mode 100644 index 0000000000..012c0a1671 --- /dev/null +++ b/src/TKSTEP209/CMakeLists.txt @@ -0,0 +1,10 @@ +project(TKSTEP209) + +set (TOOLKIT_MODULES + StepElement + StepFEA + RWStepElement + RWStepFEA +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKSTEPAttr/CMakeLists.txt b/src/TKSTEPAttr/CMakeLists.txt new file mode 100644 index 0000000000..9b2fa593b9 --- /dev/null +++ b/src/TKSTEPAttr/CMakeLists.txt @@ -0,0 +1,10 @@ +project(TKSTEPAttr) + +set (TOOLKIT_MODULES + StepVisual + RWStepVisual + StepDimTol + RWStepDimTol +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKSTEPBase/CMakeLists.txt b/src/TKSTEPBase/CMakeLists.txt new file mode 100644 index 0000000000..8eb14e6c8f --- /dev/null +++ b/src/TKSTEPBase/CMakeLists.txt @@ -0,0 +1,14 @@ +project(TKSTEPBase) + +set (TOOLKIT_MODULES + StepBasic + RWStepBasic + StepRepr + RWStepRepr + StepGeom + RWStepGeom + StepShape + RWStepShape +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKSTL/CMakeLists.txt b/src/TKSTL/CMakeLists.txt new file mode 100644 index 0000000000..83f97dce8a --- /dev/null +++ b/src/TKSTL/CMakeLists.txt @@ -0,0 +1,10 @@ +project(TKSTL) + +set (TOOLKIT_MODULES + StlMesh + StlAPI + StlTransfer + RWStl +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKService/CMakeLists.txt b/src/TKService/CMakeLists.txt new file mode 100644 index 0000000000..4550dc4d68 --- /dev/null +++ b/src/TKService/CMakeLists.txt @@ -0,0 +1,58 @@ +project(TKService) + +set (TOOLKIT_MODULES + Aspect + InterfaceGraphic + SelectBasics + Image + Cocoa + TColQuantity + Font +) + +if (WIN32) + list( APPEND TOOLKIT_MODULES "WNT" ) +else() + list( APPEND TOOLKIT_MODULES "Xw" ) +endif() + +if (WIN32) + list( APPEND USED_LIBS opengl32.lib ) + list( APPEND USED_LIBS glu32.lib ) +elseif(APPLE) + find_library(FRAMEWORKS_OPENGL NAMES OpenGL) + if(USE_GLX) + list( APPEND USED_LIBS GL ) + list( APPEND USED_LIBS GLU ) + find_package(X11 COMPONENTS X11 Xext Xmu Xi) + list( APPEND USED_LIBS ${X11_LIBRARIES} ) + list( APPEND USED_LIBS ${X11_Xi_LIB} ) + list( APPEND USED_LIBS ${X11_Xmu_LIB} ) + list( APPEND USED_LIBS Xext ) + list( APPEND USED_LIBS Xmu ) + list( APPEND USED_LIBS Xi ) + else() + list( APPEND USED_LIBS ${FRAMEWORKS_OPENGL} ) + endif() + list( APPEND USED_LIBS objc ) + find_library(FRAMEWORKS_APPKIT NAMES Appkit) + list( APPEND USED_LIBS ${FRAMEWORKS_APPKIT} ) + find_library(FRAMEWORKS_IOKIT NAMES IOKit) + list( APPEND USED_LIBS ${FRAMEWORKS_IOKIT} ) +else() + list( APPEND USED_LIBS GLU ) + list( APPEND USED_LIBS GL ) + list( APPEND USED_LIBS X11 ) + list( APPEND USED_LIBS Xext ) + list( APPEND USED_LIBS Xmu ) + list( APPEND USED_LIBS Xi ) +endif() + +if (NOT WIN32) + if(USE_FREEIMAGE) + list( APPEND USED_LIBS freeimage ) + endif() + list( APPEND USED_LIBS freetype ) +endif() + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKShHealing/CMakeLists.txt b/src/TKShHealing/CMakeLists.txt new file mode 100644 index 0000000000..d9b87ef948 --- /dev/null +++ b/src/TKShHealing/CMakeLists.txt @@ -0,0 +1,20 @@ +project(TKShHealing) + +set (TOOLKIT_MODULES + ShapeBuild + ShapeExtend + ShapeConstruct + ShapeCustom + ShapeAnalysis + ShapeFix + ShapeUpgrade + ShapeAlgo + ShapeProcess + ShapeProcessAPI +) + +if (WIN32) + list( APPEND USED_LIBS wsock32.lib ) +endif() + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKTObj/CMakeLists.txt b/src/TKTObj/CMakeLists.txt new file mode 100644 index 0000000000..c3ea9eb162 --- /dev/null +++ b/src/TKTObj/CMakeLists.txt @@ -0,0 +1,7 @@ +project(TKTObj) + +set (TOOLKIT_MODULES + TObj +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKTObjDRAW/CMakeLists.txt b/src/TKTObjDRAW/CMakeLists.txt new file mode 100644 index 0000000000..77d83cd130 --- /dev/null +++ b/src/TKTObjDRAW/CMakeLists.txt @@ -0,0 +1,7 @@ +project(TKTObjDRAW) + +set (TOOLKIT_MODULES + TObjDRAW +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKTopAlgo/CMakeLists.txt b/src/TKTopAlgo/CMakeLists.txt new file mode 100644 index 0000000000..57767f13c0 --- /dev/null +++ b/src/TKTopAlgo/CMakeLists.txt @@ -0,0 +1,22 @@ +project(TKTopAlgo) + +set (TOOLKIT_MODULES + IntCurvesFace + MAT + MAT2d + Bisector + BRepMAT2d + BRepCheck + BRepBndLib + BRepExtrema + BRepClass + BRepClass3d + BRepLib + BRepGProp + BRepIntCurveSurface + BRepTopAdaptor + BRepBuilderAPI + BRepApprox +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKTopTest/CMakeLists.txt b/src/TKTopTest/CMakeLists.txt new file mode 100644 index 0000000000..23092d997f --- /dev/null +++ b/src/TKTopTest/CMakeLists.txt @@ -0,0 +1,17 @@ +project(TKTopTest) + +set (TOOLKIT_MODULES + TestTopOpeDraw + TestTopOpeTools + TestTopOpe + BRepTest + GeometryTest + HLRTest + MeshTest + GeomliteTest + DrawFairCurve + BOPTest + SWDRAW +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKV3d/CMakeLists.txt b/src/TKV3d/CMakeLists.txt new file mode 100644 index 0000000000..a6e4a4e8c5 --- /dev/null +++ b/src/TKV3d/CMakeLists.txt @@ -0,0 +1,37 @@ +project(TKV3d) + +set (TOOLKIT_MODULES + V3d + Graphic3d + Visual3d + Select3D + Prs3d + StdPrs + SelectMgr + PrsMgr + AIS + DsgPrs + StdSelect +) + +if (WIN32) + list( APPEND USED_LIBS user32.lib ) + list( APPEND USED_LIBS gdi32.lib ) + list( APPEND USED_LIBS opengl32.lib ) + list( APPEND USED_LIBS glu32.lib ) +elseif(APPLE) + find_library(FRAMEWORKS_OPENGL NAMES OpenGL) + if(USE_GLX) + list( APPEND USED_LIBS GL ) + list( APPEND USED_LIBS GLU ) + else() + list( APPEND USED_LIBS ${FRAMEWORKS_OPENGL} ) + endif() + list( APPEND USED_LIBS freetype ) +else() + list( APPEND USED_LIBS GLU ) + list( APPEND USED_LIBS GL ) + list( APPEND USED_LIBS freetype ) +endif() + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKVRML/CMakeLists.txt b/src/TKVRML/CMakeLists.txt new file mode 100644 index 0000000000..4aca687b62 --- /dev/null +++ b/src/TKVRML/CMakeLists.txt @@ -0,0 +1,10 @@ +project(TKVRML) + +set (TOOLKIT_MODULES + VrmlConverter + VrmlAPI + Vrml + VrmlData +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKViewerTest/CMakeLists.txt b/src/TKViewerTest/CMakeLists.txt new file mode 100644 index 0000000000..7ea893250d --- /dev/null +++ b/src/TKViewerTest/CMakeLists.txt @@ -0,0 +1,39 @@ +project(TKViewerTest) + +set (TOOLKIT_MODULES + ViewerTest +) + +if (WIN32) + list( APPEND USED_LIBS user32.lib ) + list( APPEND USED_LIBS gdi32.lib ) + list( APPEND USED_LIBS opengl32.lib ) + list( APPEND USED_LIBS glu32.lib ) +elseif(APPLE) + find_library(FRAMEWORKS_TCL NAMES Tcl) + list( APPEND USED_LIBS ${FRAMEWORKS_TCL} ) + find_library(FRAMEWORKS_TK NAMES Tk) + list( APPEND USED_LIBS ${FRAMEWORKS_TK} ) + find_library(FRAMEWORKS_OPENGL NAMES OpenGL) + if(USE_GLX) + list( APPEND USED_LIBS GL ) + list( APPEND USED_LIBS GLU ) + else() + list( APPEND USED_LIBS ${FRAMEWORKS_OPENGL} ) + endif() + list( APPEND USED_LIBS objc ) + find_library(FRAMEWORKS_APPKIT NAMES Appkit) + list( APPEND USED_LIBS ${FRAMEWORKS_APPKIT} ) + find_library(FRAMEWORKS_IOKIT NAMES IOKit) + list( APPEND USED_LIBS ${FRAMEWORKS_IOKIT} ) + list( APPEND USED_LIBS freetype ) +else() + list( APPEND USED_LIBS tcl8.6 ) + list( APPEND USED_LIBS X11 ) + list( APPEND USED_LIBS tk8.6 ) + list( APPEND USED_LIBS GLU ) + list( APPEND USED_LIBS GL ) + list( APPEND USED_LIBS freetype ) +endif() + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKVoxel/CMakeLists.txt b/src/TKVoxel/CMakeLists.txt new file mode 100644 index 0000000000..f0ceb8a6b5 --- /dev/null +++ b/src/TKVoxel/CMakeLists.txt @@ -0,0 +1,7 @@ +project(TKVoxel) + +set (TOOLKIT_MODULES + Voxel +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKXCAF/CMakeLists.txt b/src/TKXCAF/CMakeLists.txt new file mode 100644 index 0000000000..39b457b513 --- /dev/null +++ b/src/TKXCAF/CMakeLists.txt @@ -0,0 +1,9 @@ +project(TKXCAF) + +set (TOOLKIT_MODULES + XCAFApp + XCAFDoc + XCAFPrs +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKXDEDRAW/CMakeLists.txt b/src/TKXDEDRAW/CMakeLists.txt new file mode 100644 index 0000000000..0db7395456 --- /dev/null +++ b/src/TKXDEDRAW/CMakeLists.txt @@ -0,0 +1,7 @@ +project(TKXDEDRAW) + +set (TOOLKIT_MODULES + XDEDRAW +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKXDEIGES/CMakeLists.txt b/src/TKXDEIGES/CMakeLists.txt new file mode 100644 index 0000000000..f3724bc94e --- /dev/null +++ b/src/TKXDEIGES/CMakeLists.txt @@ -0,0 +1,7 @@ +project(TKXDEIGES) + +set (TOOLKIT_MODULES + IGESCAFControl +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKXDESTEP/CMakeLists.txt b/src/TKXDESTEP/CMakeLists.txt new file mode 100644 index 0000000000..9ef2c04cd5 --- /dev/null +++ b/src/TKXDESTEP/CMakeLists.txt @@ -0,0 +1,7 @@ +project(TKXDESTEP) + +set (TOOLKIT_MODULES + STEPCAFControl +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKXMesh/CMakeLists.txt b/src/TKXMesh/CMakeLists.txt new file mode 100644 index 0000000000..6b596cce6e --- /dev/null +++ b/src/TKXMesh/CMakeLists.txt @@ -0,0 +1,7 @@ +project(TKXMesh) + +set (TOOLKIT_MODULES + XBRepMesh +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKXSBase/CMakeLists.txt b/src/TKXSBase/CMakeLists.txt new file mode 100644 index 0000000000..8deeba1d31 --- /dev/null +++ b/src/TKXSBase/CMakeLists.txt @@ -0,0 +1,22 @@ +project(TKXSBase) + +set (TOOLKIT_MODULES + Interface + Transfer + IFGraph + IFSelect + TransferBRep + XSControl + StepData + StepFile + HeaderSection + RWHeaderSection + APIHeaderSection + StepSelect + UnitsMethods + XSAlgo + LibCtl + MoniTool +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKXSDRAW/CMakeLists.txt b/src/TKXSDRAW/CMakeLists.txt new file mode 100644 index 0000000000..08da31b534 --- /dev/null +++ b/src/TKXSDRAW/CMakeLists.txt @@ -0,0 +1,10 @@ +project(TKXSDRAW) + +set (TOOLKIT_MODULES + XSDRAW + XSDRAWIGES + XSDRAWSTEP + XSDRAWSTLVRML +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKXml/CMakeLists.txt b/src/TKXml/CMakeLists.txt new file mode 100644 index 0000000000..9f71165346 --- /dev/null +++ b/src/TKXml/CMakeLists.txt @@ -0,0 +1,10 @@ +project(TKXml) + +set (TOOLKIT_MODULES + XmlDrivers + XmlMDataXtd + XmlMNaming + XmlMPrsStd +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKXmlL/CMakeLists.txt b/src/TKXmlL/CMakeLists.txt new file mode 100644 index 0000000000..3e492f3445 --- /dev/null +++ b/src/TKXmlL/CMakeLists.txt @@ -0,0 +1,12 @@ +project(TKXmlL) + +set (TOOLKIT_MODULES + XmlLDrivers + XmlMDF + XmlMDataStd + XmlMDocStd + XmlMFunction + XmlObjMgt +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKXmlTObj/CMakeLists.txt b/src/TKXmlTObj/CMakeLists.txt new file mode 100644 index 0000000000..78f426a2cb --- /dev/null +++ b/src/TKXmlTObj/CMakeLists.txt @@ -0,0 +1,7 @@ +project(TKXmlTObj) + +set (TOOLKIT_MODULES + XmlTObjDrivers +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKXmlXCAF/CMakeLists.txt b/src/TKXmlXCAF/CMakeLists.txt new file mode 100644 index 0000000000..b87fc87c30 --- /dev/null +++ b/src/TKXmlXCAF/CMakeLists.txt @@ -0,0 +1,8 @@ +project(TKXmlXCAF) + +set (TOOLKIT_MODULES + XmlXCAFDrivers + XmlMXCAFDoc +) + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/TKernel/CMakeLists.txt b/src/TKernel/CMakeLists.txt new file mode 100644 index 0000000000..8ca64cd38c --- /dev/null +++ b/src/TKernel/CMakeLists.txt @@ -0,0 +1,39 @@ +project(TKernel) + +set (TOOLKIT_MODULES + FSD + MMgt + OSD + Plugin + Quantity + Resource + Standard + StdFail + Storage + TColStd + TCollection + TShort + Units + UnitsAPI + Dico + NCollection + Message +) + +if (WIN32) + list( APPEND USED_LIBS advapi32.lib ) + list( APPEND USED_LIBS gdi32.lib ) + list( APPEND USED_LIBS user32.lib ) + list( APPEND USED_LIBS kernel32.lib ) +else() + if (NOT APPLE) + list( APPEND USED_LIBS pthread ) + list( APPEND USED_LIBS rt ) + endif() + if(USE_TBB) + list( APPEND USED_LIBS tbb ) + list( APPEND USED_LIBS tbbmalloc ) + endif() +endif() + +include(${OCCT_SOURCE_DIR}/adm/cmake/BuildToolkit.cmake) diff --git a/src/V3d/EXTERNLIB b/src/V3d/EXTERNLIB deleted file mode 100644 index 7e6a9150c4..0000000000 --- a/src/V3d/EXTERNLIB +++ /dev/null @@ -1 +0,0 @@ -CSF_FreeImagePlus diff --git a/src/V3d/FILES b/src/V3d/FILES index c8df729ef1..934151d174 100755 --- a/src/V3d/FILES +++ b/src/V3d/FILES @@ -1,4 +1,3 @@ -EXTERNLIB V3d.cxx V3d.hxx V3d_AmbientLight.cxx diff --git a/src/ViewerTest/EXTERNLIB b/src/ViewerTest/EXTERNLIB deleted file mode 100755 index 722430ca0d..0000000000 --- a/src/ViewerTest/EXTERNLIB +++ /dev/null @@ -1,4 +0,0 @@ -CSF_objc -CSF_Appkit -CSF_IOKit -CSF_FREETYPE diff --git a/src/ViewerTest/FILES b/src/ViewerTest/FILES index ac2aa53fe9..a60d157500 100755 --- a/src/ViewerTest/FILES +++ b/src/ViewerTest/FILES @@ -1,4 +1,3 @@ -EXTERNLIB ViewerTest.cxx ViewerTest.hxx ViewerTest_AutoUpdater.cxx diff --git a/src/Visual3d/EXTERNLIB b/src/Visual3d/EXTERNLIB deleted file mode 100755 index b4113f88cf..0000000000 --- a/src/Visual3d/EXTERNLIB +++ /dev/null @@ -1 +0,0 @@ -CSF_user32 diff --git a/src/Visual3d/FILES b/src/Visual3d/FILES index 1f82fc6701..2df158c105 100755 --- a/src/Visual3d/FILES +++ b/src/Visual3d/FILES @@ -1,4 +1,3 @@ -EXTERNLIB Visual3d_ClipDefinitionError.hxx Visual3d_ContextPick.cxx Visual3d_ContextPick.hxx diff --git a/src/Xw/EXTERNLIB b/src/Xw/EXTERNLIB deleted file mode 100755 index b908e4e0ea..0000000000 --- a/src/Xw/EXTERNLIB +++ /dev/null @@ -1,2 +0,0 @@ -CSF_XwLibs -CSF_OpenGlLibs diff --git a/src/Xw/FILES b/src/Xw/FILES index 14fceb9519..1ab3878630 100755 --- a/src/Xw/FILES +++ b/src/Xw/FILES @@ -1,3 +1,2 @@ -EXTERNLIB Xw_Window.cxx Xw_Window.hxx -- 2.20.1