View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0032921 | Open CASCADE | OCCT:Configuration | public | 2022-04-07 12:12 | 2023-03-19 20:19 |
Reporter | Assigned To | ||||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
Platform | Windows | OS | VC++ 2019 | ||
Target Version | 7.7.0 | Fixed in Version | 7.7.0 | ||
Summary | 0032921: Configuration, CMake - allow selecting C++ standard | ||||
Description | Make C++ standard to be enable from cmake settings: User will be able choosing C++ language standard by selecting cmake variable BUILD_CPP_STANDARD. For correct working, CMAKE_CXX_STANDARD cmake built-in variable should be available. To enable CMAKE_CXX_STANDARD, minimum CMAKE version has been updated to 3.1. Available next standard items: C++11 C++14 C++17 C++20 C++23 OCCT remarks: This issue consists from several steps to achive main goal: 1) Configuratiuon, CMake - allow selecting C++ standard. 2) Require minimum CMAKE version 3.1 (for enabling CMAKE_CXX_STANDARD). 3) More flexible CMAKE_CXX_COMPILER_ID identification (fixups previous commit!) 4) Add description of new CMAKE variable `BUILD_CPP_STANDARD` into documentation. 5) Update CMAKE requirements in documentation. 6) Set C++11 standard for several projects. OCC Pr. remarks: noop | ||||
Steps To Reproduce | Not required | ||||
Tags | No tags attached. | ||||
Test case number | N/A | ||||
child of | 0032887 | assigned | Open CASCADE | Coding - Problem of compilation on VS2019/C++20 | |
child of | 0033117 | closed | Open CASCADE | Coding, Configuration - migration to intel oneTBB 2021.5.0 (c++20 ready) | |
child of | 0032986 | closed | Open CASCADE | Samples - csharp sample is crashed on compilation with VC++ 2022 |
|
Branch CR32921 has been created by ddzama. SHA-1: cafb923ca794c56fe8e69d75852d991b74c48b7b Detailed log of new commits: Author: Dmitry DZAMA Date: Tue Mar 29 16:33:45 2022 +0300 0032921: Make C++ standard to be enable from cmake settings Microsoft Visual Studio Professional 2019 Version 16.11.11 std=c++20 Make C++ standard to be enable from cmake settings: Now, user can choose standard by setting cmake variable CPP_STANDARD. Availabale next standard itemd: C++11 C++14 C++17 C++20 C++23 |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 8b963c1d75a0d097249cb5f715b6ae8fc4dbbfc8 |
|
+# Set desired C++ standard +if ("${CPP_STANDARD}" STREQUAL "C++11") + set (CMAKE_CXX_STANDARD 11) According to documentation: > CMAKE_CXX_STANDARD - New in version 3.1. While CMakeLists.txt in OCCT specifies: > cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR) Either we need to increase minimal requirements to CMake, or fallback should be applied for older CMake versions (passing C++11 to compiler flags as before). |
|
Now, different libs have different requirement to CMAKE version: adm/cmake/cotire.cmake:cmake_minimum_required(VERSION 2.8.12) CMakeLists.txt:cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR) samples/glfw/CMakeLists.txt:cmake_minimum_required(VERSION 3.2) samples/java/jniviewer/app/src/main/jni/CMakeLists.txt:cmake_minimum_required(VERSION 3.4.1) samples/mfc/standard/01_Geometry/CMakeLists.txt:cmake_minimum_required (VERSION 2.6) samples/mfc/standard/02_Modeling/CMakeLists.txt:cmake_minimum_required (VERSION 2.6) samples/mfc/standard/03_ImportExport/CMakeLists.txt:cmake_minimum_required (VERSION 2.6) samples/mfc/standard/04_HLR/CMakeLists.txt:cmake_minimum_required (VERSION 2.6) samples/mfc/standard/mfcsample/CMakeLists.txt:cmake_minimum_required (VERSION 2.6) samples/webgl/CMakeLists.txt:cmake_minimum_required(VERSION 3.2) samples/xaml/CMakeLists.txt:cmake_minimum_required(VERSION 3.4.0) tools/CMakeLists.txt:cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR) Maybe use unique requirement to CMAKE version, set in main cmake file? |
|
I don't see how CMake requirements to build some sample depend on CMake requirements for building OCCT. Samples could be built using OCCT pre-built on another computer with another CMake version and without using CMake at all. And a particular sample might indeed require a higher CMake version than OCCT itself - but OCCT users are not required to build all these samples. But there is another issue with the patch - it is unclear which consequences could be building OCCT and projects (samples, OCC Products) with mixed/incompatible versions of C++ standard. So that I guess C++ version selection should be propagated to all samples and OCC Products (could be done in dedicated bug/patch). |
|
Branch CR32921 has been updated by ddzama. SHA-1: 18738b72e9fa73afc791b44094d73b49d2bf7862 Detailed log of new commits: Author: ddzama Date: Fri Apr 8 14:43:59 2022 +0300 require minimum CMAKE version 3.1 (for enabling CMAKE_CXX_STANDARD) |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 73e424210859e0303f5ed4da04d46a2940aed41e |
|
Branch CR32921 has been updated by ddzama. SHA-1: 0e3d7c4cbdfce581e8a359a7a281a93f8e6461e7 Detailed log of new commits: Author: ddzama Date: Mon Apr 25 12:16:14 2022 +0300 0032921: Preserve cmake policies. |
|
Branch CR32921 has been updated by ddzama. SHA-1: e76e6b90dfc427439bc381da20df8765e1245e81 Detailed log of new commits: Author: ddzama Date: Mon Apr 25 17:37:13 2022 +0300 Revert "0032921: Fix `if()` contents for employing new cmake policy `CMP0054`, started since version 3.1." This reverts commit 73e424210859e0303f5ed4da04d46a2940aed41e. |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 6b480960d6af94baf41c94f9c5bd9d2d732463a1 |
|
+# For moving from minimal cmake version 2.8.12 to 3.1, +# we, nevertheless, have to use 2.8.12 cmake policies +cmake_policy(VERSION 2.8) ... +# Set cmake version, but preserve cmake policies +cmake_policy(PUSH) +cmake_minimum_required (VERSION 3.1 FATAL_ERROR) +cmake_policy(POP) There is no way to use new polices from CMake 3.1 without warnings? They are useless and step in a wrong direction? |
|
+else () + set (CMAKE_CXX_STANDARD 23) Why "else" means "23"? Shouldn't be there an error in case of unknown string? --- a/adm/genproj.tcl +++ b/adm/genproj.tcl I don't think modifications of Code::Blocks generator have been actually tested and are necessary in scope of this patch. If we would like to expose C++ standard selection with 'genproj.bat' - at first, Visual Studio project files should be updated and selection should be exposed to `genconf.tcl`. This could be postponed to a dedicated patch. > Availabale next standard itemd: Two misprints. > Microsoft Visual Studio Professional 2019 > Version 16.11.11 > std=c++20 This text looks unrelated to commit message. > Now, user can choose standard by setting cmake variable CPP_STANDARD. Documentation should be updated to mention new CMake parameter. |
|
Consider renaming new CMake variable to have `BUILD_` prefix for better grouping. |
|
@kgv, yes. If moving cmake minimum required version from 2.8 to 3.1, the list of new policies is applied by default (if not preserve policies, as proposed above). If not preserve policies, compilation on Windows will cause errors. Introduced in 3.0 CMP0050: Disallow add_custom_command SOURCE signatures. CMP0049: Do not expand variables in target source entries. CMP0048: project() command manages VERSION variables. CMP0047: Use QCC compiler id for the qcc drivers on QNX. CMP0046: Error on non-existent dependency in add_dependencies. CMP0045: Error on non-existent target in get_target_property. CMP0044: Case sensitive Lang_COMPILER_ID generator expressions. CMP0043: Ignore COMPILE_DEFINITIONS_Config properties. CMP0042: MACOSX_RPATH is enabled by default. CMP0041: Error on relative include with generator expression. CMP0040: The target in the TARGET signature of add_custom_command() must exist. CMP0039: Utility targets may not have link dependencies. CMP0038: Targets may not link directly to themselves. CMP0037: Target names should not be reserved and should match a validity pattern. CMP0036: The build_name command should not be called. CMP0035: The variable_requires command should not be called. CMP0034: The utility_source command should not be called. CMP0033: The export_library_dependencies command should not be called. CMP0032: The output_required_files command should not be called. CMP0031: The load_command command should not be called. CMP0030: The use_mangled_mesa command should not be called. CMP0029: The subdir_depends command should not be called. CMP0028: Double colon in target name means ALIAS or IMPORTED target. CMP0027: Conditionally linked imported targets with missing include directories. CMP0026: Disallow use of the LOCATION target property. CMP0025: Compiler id for Apple Clang is now AppleClang. CMP0024: Disallow include export result. And introduced in 3.1 CMP0054: Only interpret if() arguments as variables or keywords when unquoted. CMP0053: Simplify variable reference and escape sequence evaluation. CMP0052: Reject source and build dirs in installed INTERFACE_INCLUDE_DIRECTORIES. CMP0051: List TARGET_OBJECTS in SOURCES target property. |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 0bdb1002364e321ab155c14e869890f6ad974765 |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 32bda6940ed830a337c9431121a14d97d9bcb656 |
|
So the question is actually - is it possible update our CMake scripts so that they will be compatible with new CMake policies without playing with policies? |
|
@kgv, i think it is, but, firstly - i should define what particular new policy(s) breaks compilation. And second - find out, how to fix it. And, yes, old policies may be removed in newer version of CMake software. Will i do this work now in current ticket? |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: b3bba91506387d8d50ab30fbd8618d845265ca40 |
|
@kgv, new policies (one or more from them) breaks compilation on MacOS. I try to find out the cause by comparing successed build directory with failed build directory, but until current moment unsuccessful. |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 82da07e44807cce3bba190d55a29f6d9c5f9d191 |
|
@kgv, the problem on MacOs was in naming of cxx compilator. This is strange, but if we use cmake minimal 2.8 it called Clang, when we require 3.1 as minimal version - AppleClang. So, I fixed it by replace more strength STREQUAL operator to MATCHES one and just in case make it case insensitive. Successfully finished jenkins: http://jenkins-test-occt.nnov.opencascade.com/view/CR32887-master-ddzama/view/GIT/ |
|
> if we use cmake minimal 2.8 it called Clang, when we require 3.1 as minimal version - AppleClang. Interesting to know. I guess CMake developers decided to introduce "AppleClang" to distinguish this CLang fork coming with XCode. As these compilers have independent and inconsistent versioning, specific bugs and features sets, tracking them as the same one complicated handling some corner cases. |
|
|
|
@kgv, sorry for my late response. My activity in this direction has been suspended by other projects, and I do not understend entirely your last remark -should I change installatin direcory for occt, depending on cmake variable CMAKE_COMPILER_ID, and, therefore, for IFC, because IFC should receive the same installation directory. By other words, should we install occt in AppleClang/ directory or clang/ directory is stay fine? |
|
I don't know how it affects installation directory. In my opinion all CLang checks in CMake scripts should be updated to treat both values - in the same way. Save the parts, where AppleClang is supposed to be handled differently - I guess such places might be found in `if(APPLE)` cases in existing scripts (don't know if it worth changing these places). |
|
@kgv, ok There would be one commit - now there is not any reason to preserve policies when requiring cmake_minimal_version (VERSION 3.1) |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: dc9e78147e5bef405480e433b7033a91f031ee5f |
|
@kgv, sorry. I think we should push before and pop after policies requiring cmake version outside main CMakeLists.txt, because it may be changed in future. After achieving jenkins result, i move this ticket. |
|
|
|
When using the variable CMAKE_CXX_STANDARD to set standard to C++14 when building ASRV on Ubuntu 18.04 with gcc 7.5 and cmake 3.22.1, I faced with the problem that GCC indeed used the standard C++11. So, setting only that variable does not dictate cmake to use this standard mandatory. I found the solution by setting the following: set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) So, I propose to include this setting in our scripts, too. |
|
One more remark, I did not understand why we left the old policies in some samples' scripts? Is it possible to avoid this? |
|
What about the same feature in occt-products repository? I think this ticket must include changes there, too. |
|
> set(CMAKE_CXX_STANDARD_REQUIRED ON) Would this lead to failure building with default C++11 option on VS2019, as this compiler doesn't support this standard or this check validates only `>=`? |
|
Branch CR32921 has been updated by ddzama. SHA-1: 67f59a1b0ab2a1f2dc28bb204f73060e17ddf0ce Detailed log of new commits: Author: ddzama Date: Wed May 25 07:33:34 2022 +0300 0032921: do not preserve policies |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 625aa3594315c5682b4ec7b11c223208e5dd3c2c |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: e57072dad28765863d2362023617f75c83fd8368 |
|
@kgv, set(CMAKE_CXX_STANDARD_REQUIRED ON) has been added after setting c++ standard. get rid of preserving cmake policies. Jenkins teset has been executed successfully. |
|
> So, source of error has been localizedin file occt_toolkit.cmake, in lines ~325 and ~327. Information about line numbers doesn't look useful in git commit description. The patch should be squashed into a single commit before integration / sending for review (squashed patch pushed to a branch with incremented revision number). |
|
Still waiting actual test results. |
|
Branch CR32921 has been updated by ddzama. SHA-1: 5747d04a6ec0f8cb5ac6a1709f4ee2a66b794719 Detailed log of new commits: Author: ddzama Date: Mon May 30 00:03:01 2022 +0300 0032921: use std/c++20 as default c++ language standard |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 3b75a51a7525dedb1db96470b3e58c8a9b1b9da0 |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: a2c019bd12d3149ed5ee8f600b9bcb3d943e193c |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: a035f39ce25c76ea804b875b00954dd9724620e4 |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: dd7d6cc2cf437164174b9463ba82f21a122d420b |
|
http://jenkins-test-occt.nnov.opencascade.com/view/CR32887-cxx11/view/COMPARE/ http://jenkins-test-11.nnov.opencascade.com/view/CR32887_CR32887/ |
|
ddzama => bugmaster assigned => resolved Please never assign bugs in RESOLVED state to bugmaster - bugs should be assigned to reviewer first. |
|
+# So, it should compiles with c++11/c++14 language standard. `should be compiled`. +# Current Qt version is incompatible with c++20. Which exactly `current version` is mentioned here? Please be more specific in the code, not just in git commit description. because of incomatibility of 5.11.2 version of Qt library interface with C++20 standard. `incomatibility` misprint. Qt 5 is NOT the latest version of this library, users are already using Qt 6 in some projects. +set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 11) \ No newline at end of file Please add suggested newlines. These repetitive hacks in individual projects looks fragile - it would be better unifying this somehow. |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 2357da14386ac2c76fd8ec6e8d33b1f33d9c67f7 |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 753a236222795c3799443a434c0e400b34d59544 |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 569ba9afe2e9215c14ab8945bceecb3e93384414 |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 739b3dc536d507ac06f892934c8aa46b02e92c2f |
|
@kgv - remarks has been took into account. Please review it. |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 5972e32378d05b2af27dbcd8a2a09a57ade81f97 |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: 17746dc51abdaf48aeadfd055d2469b0b185b7bb |
|
Please correct the grammar error, correct is `should be compiled`.+# So, it should compiles with c++11/c++14 language standard. |
|
Branch CR32921 has been updated forcibly by ddzama. SHA-1: efc007f0449b174332de316b57d834996edac19b |
|
Branch CR32921_1 has been created by ddzama. SHA-1: 97e949adba741c1b53c3c56e99cb41b9ad3555d2 Detailed log of new commits: Author: ddzama Date: Wed May 4 12:57:51 2022 +0300 0032921: Summary (c++ standard enabled) 0032921: Configuratiuon, CMake - allow selecting C++ standard Make C++ standard to be enable from cmake settings: Now, user can choose standard by setting cmake variable CPP_STANDARD. Available next standard items: C++11, C++14, C++17, C++20, C++23. 0032921: require minimum CMAKE version 3.1 (for enabling CMAKE_CXX_STANDARD) If we require CMAKE minimal version 3.1, rather than 2.8, by default new policies are employed: from CMP0024 to CMP0054. Unique problematic policy is CMP0054: `Only interpret if() arguments as variables or keywords when unquoted.` Requiring of 3.1 as minimal version without preserving old behavior of 54th policy breaks MSVC compilation. If we require cmake_policy (SET CMP0054 OLD), compilation finishs without errors. New behavior of CMP0054 leads to changes in next target MSVC vcxproj files: - TKV3d - TKOpenGl - TKOpenGlTest - TKOpenGles - TKOpenGlesTest Difference is absense of HAVE_OPENGL/HAVE_OPENGLES definitions. So, source of error has been localizedin file occt_toolkit.cmake, in lines ~325 and ~327. In accordance with old CMP0054 policy "CSF_OpenGlLibs" interprets as variable CSF_OpenGlLibs, rather than just a string. Contrary, new policy interpret "CSF_OpenGlLibs" as a string. To employ new policy, began since CMAKE 3.1 we should replace "CSF_OpenGlLibs" to "${CSF_OpenGlLibs}" and "CSF_OpenGlesLibs" to "${CSF_OpenGlesLibs}". P.S. When cmake policy CMP0054 is set to NEW expression "${CURRENT_CSF}" STREQUAL "CSF_OpenGlLibs" is false, while if policy CMP0054 is set to OLD expression "${CURRENT_CSF}" STREQUAL "CSF_OpenGlLibs" is true. If replace "CSF_OpenGlLibs" to "${CSF_OpenGlLibs}" expression is true independent on CMP0054 policy. Notice, that OLD policy had beed taken place by default on master before this ticket integration. 0032921: more flexible CMAKE_CXX_COMPILER_ID identification (fixups previous commit!) 0032921: Add description of new CMAKE variable `BUILD_CPP_STANDARD` into documantation. 0032921: Update CMAKE requirements in documentation. 0032921: Set C++11 standard for several projects. Several projects depends on Qt library 0f 5.11.2 version. TKDFBrowser TKMessageView TKShapeView TKTInspector TInspectorEXE TKTreeModel TKMessageModel TKVInspector TKToolsDraw TKTInspectorAPI TKView When using C++20 language standard, compilation errors occures because of incompatibility of 5.11.2 version of Qt library interface with C++20 standard. Therefore, these projects stay on C++11 language standard. |
|
Branch CR32921_1 has been updated forcibly by ddzama. SHA-1: e84d14d77c45bb2908fb5b8f77deda0c80632596 |
|
Branch CR32921_1 has been updated forcibly by ddzama. SHA-1: 9878ecf23691b1bf94e749fa474fe22a4f8344d9 |
|
For integration: occt - CR32921_1 products - none |
|
Branch CR32921_1 has been updated forcibly by ddzama. SHA-1: f52674bac0a3a1b5d55578dc97ab2e0da1bac4c7 |
|
Please create the branch for products. |
|
Branch CR32921_1 has been updated forcibly by ddzama. SHA-1: 3b76a8733786eb6b29d2667b400a5ca4d02af5cb |
|
|
|
The commit message title is not relevant. |
|
Branch CR32921_1 has been updated forcibly by ddzama. SHA-1: c21b3ed2e443dc7158f1f1c44382061f3b5cda27 |
|
OCC Pr. branch CR32921 commit message has been updated too. (@kgv - FYI) |
|
For integration: occt - CR32921_1 products - CR32921 |
|
Combination - OCCT branch : IR-2022-09-09 master SHA - 526c506cb0a6a5c9c168ab5efd0a4e5211e30bf4 e0ceb716c70188b98130b1550914140d0502a6f9 Products branch : IR-2022-09-09 SHA - changes and them, and you can discard any commits you make in this 574253b6b844635a69038511e6920877f837e298 was compiled on Linux, MacOS and Windows platforms and tested in optimize mode. Number of compiler warnings: No new/fixed warnings Regressions/Differences/Improvements: No regressions/differences CPU differences: Debian80-64: OCCT Total CPU difference: 18959.200000000466 / 18756.090000000648 [+1.08%] Products Total CPU difference: 12020.780000000137 / 11992.830000000133 [+0.23%] Windows-64-VC14: OCCT Total CPU difference: 20894.5625 / 20851.65625 [+0.21%] Products Total CPU difference: 13470.484375 / 13574.0625 [-0.76%] Image differences : No differences that require special attention Memory differences : No differences that require special attention |
|
Branch CR32921 has been deleted by mnt. SHA-1: efc007f0449b174332de316b57d834996edac19b |
|
Branch CR32921_1 has been deleted by mnt. SHA-1: c21b3ed2e443dc7158f1f1c44382061f3b5cda27 |
occt: master e92d322d 2022-05-04 12:57:51
Committer: |
0032921: Configuration, CMake - allow selecting C++ standard. Make C++ standard to be enable from cmake settings: User will be able choosing C++ language standard by selecting cmake variable BUILD_CPP_STANDARD. For correct working, CMAKE_CXX_STANDARD cmake built-in variable should be available. To enable CMAKE_CXX_STANDARD, minimum CMAKE version has been updated to 3.1. Available next standard items: C++11 C++14 C++17 C++20 C++23 This issue consists from several steps to achive main goal: 1) Configuratiuon, CMake - allow selecting C++ standard. 2) Require minimum CMAKE version 3.1 (for enabling CMAKE_CXX_STANDARD). 3) More flexible CMAKE_CXX_COMPILER_ID identification (fixups previous commit!) 4) Add description of new CMAKE variable `BUILD_CPP_STANDARD` into documentation. 5) Update CMAKE requirements in documentation. 6) Set C++11 standard for several projects. |
Affected Issues 0032921 |
|
mod - adm/cmake/cotire.cmake | Diff File | ||
mod - adm/cmake/occt_defs_flags.cmake | Diff File | ||
mod - adm/cmake/occt_macros.cmake | Diff File | ||
mod - adm/cmake/occt_toolkit.cmake | Diff File | ||
mod - CMakeLists.txt | Diff File | ||
mod - dox/build/build_occt/building_occt.md | Diff File | ||
mod - dox/introduction/introduction.md | Diff File | ||
mod - samples/glfw/adm/cmake/FindOpenCASCADE.cmake | Diff File | ||
mod - samples/glfw/CMakeLists.txt | Diff File | ||
mod - samples/java/jniviewer/app/src/main/jni/CMakeLists.txt | Diff File | ||
mod - samples/mfc/standard/01_Geometry/CMakeLists.txt | Diff File | ||
mod - samples/mfc/standard/02_Modeling/CMakeLists.txt | Diff File | ||
mod - samples/mfc/standard/03_ImportExport/CMakeLists.txt | Diff File | ||
mod - samples/mfc/standard/04_HLR/CMakeLists.txt | Diff File | ||
mod - samples/mfc/standard/mfcsample/CMakeLists.txt | Diff File | ||
mod - samples/webgl/CMakeLists.txt | Diff File | ||
mod - tools/CMakeLists.txt | Diff File | ||
mod - tools/TInspectorEXE/CMakeLists.txt | Diff File | ||
mod - tools/TKDFBrowser/CMakeLists.txt | Diff File | ||
mod - tools/TKMessageModel/CMakeLists.txt | Diff File | ||
mod - tools/TKMessageView/CMakeLists.txt | Diff File | ||
mod - tools/TKShapeView/CMakeLists.txt | Diff File | ||
mod - tools/TKTInspector/CMakeLists.txt | Diff File | ||
mod - tools/TKTInspectorAPI/CMakeLists.txt | Diff File | ||
mod - tools/TKToolsDraw/CMakeLists.txt | Diff File | ||
mod - tools/TKTreeModel/CMakeLists.txt | Diff File | ||
mod - tools/TKView/CMakeLists.txt | Diff File | ||
mod - tools/TKVInspector/CMakeLists.txt | Diff File | ||
occt-products: master e8a9460d 2022-08-22 12:46:12
Committer: |
0032921: Configuration, CMake - allow selecting C++ standard. Make C++ standard to be enable from cmake settings: User will be able choosing C++ language standard by selecting cmake variable BUILD_CPP_STANDARD. For correct working, CMAKE_CXX_STANDARD cmake built-in variable should be available. To enable CMAKE_CXX_STANDARD, minimum CMAKE version has been updated to 3.1. Available next standard items: C++11 C++14 C++17 C++20 C++23 |
Affected Issues 0032921 |
|
mod - adm/cmake/occt_defs_flags.cmake | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File | ||
mod - diff | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2022-04-07 12:12 |
|
New Issue | |
2022-04-07 12:12 |
|
Assigned To | => ddzama |
2022-04-07 12:20 | kgv | Category | OCCT:Coding => OCCT:Configuration |
2022-04-07 12:20 | kgv | Summary | Make C++ standard to be enable from cmake settings => Configuratiuon, CMake - allow selecting C++ standard |
2022-04-07 12:20 | kgv | Description Updated | |
2022-04-07 12:20 | kgv | Relationship added | child of 0032887 |
2022-04-07 14:21 | git | Note Added: 0107681 | |
2022-04-07 14:44 | git | Note Added: 0107706 | |
2022-04-07 14:51 |
|
Relationship deleted | child of 0032887 |
2022-04-07 14:54 |
|
Relationship added | child of 0032887 |
2022-04-08 01:45 | kgv | Note Added: 0107735 | |
2022-04-08 10:00 |
|
Note Added: 0107740 | |
2022-04-08 14:23 | kgv | Note Added: 0107754 | |
2022-04-08 14:24 | kgv | Note Edited: 0107754 | |
2022-04-08 14:44 | git | Note Added: 0107755 | |
2022-04-20 11:14 | git | Note Added: 0108038 | |
2022-04-25 15:35 | git | Note Added: 0108152 | |
2022-04-25 17:37 | git | Note Added: 0108166 | |
2022-04-26 02:13 | git | Note Added: 0108178 | |
2022-04-26 11:30 |
|
Assigned To | ddzama => bugmaster |
2022-04-26 11:30 |
|
Status | new => resolved |
2022-04-26 11:30 |
|
Steps to Reproduce Updated | |
2022-04-26 16:47 | kgv | Assigned To | bugmaster => kgv |
2022-04-26 21:47 | kgv | Note Added: 0108200 | |
2022-04-26 22:02 | kgv | Note Added: 0108201 | |
2022-04-26 22:02 | kgv | Assigned To | kgv => ddzama |
2022-04-26 22:02 | kgv | Status | resolved => assigned |
2022-04-26 22:02 | kgv | Test case number | => N/A |
2022-04-26 22:03 | kgv | Note Edited: 0108201 | |
2022-04-26 22:05 | kgv | Note Added: 0108202 | |
2022-04-26 22:06 | kgv | Summary | Configuratiuon, CMake - allow selecting C++ standard => Configuration, CMake - allow selecting C++ standard |
2022-04-26 22:06 | kgv | Severity | minor => feature |
2022-04-26 22:06 | kgv | Product Version | 7.7.0 => |
2022-05-04 15:12 |
|
Note Added: 0108304 | |
2022-05-04 15:15 |
|
Note Edited: 0108304 | |
2022-05-04 15:16 | git | Note Added: 0108305 | |
2022-05-04 15:21 | git | Note Added: 0108308 | |
2022-05-04 15:29 | kgv | Note Added: 0108309 | |
2022-05-04 15:48 |
|
Note Added: 0108314 | |
2022-05-05 15:02 | git | Note Added: 0108349 | |
2022-05-06 12:51 |
|
Note Added: 0108365 | |
2022-05-06 16:13 | git | Note Added: 0108379 | |
2022-05-07 01:08 |
|
Note Added: 0108381 | |
2022-05-13 00:28 | kgv | Note Added: 0108419 | |
2022-05-18 11:07 | kgv | Note Added: 0108480 | |
2022-05-20 05:41 |
|
Note Added: 0108504 | |
2022-05-20 12:25 | kgv | Note Added: 0108509 | |
2022-05-20 12:50 |
|
Note Added: 0108510 | |
2022-05-20 12:51 |
|
Assigned To | ddzama => bugmaster |
2022-05-20 12:51 |
|
Status | assigned => resolved |
2022-05-20 12:51 |
|
Assigned To | bugmaster => ddzama |
2022-05-20 12:51 |
|
Status | resolved => assigned |
2022-05-20 12:53 |
|
Note Edited: 0108510 | |
2022-05-20 12:58 |
|
Note Edited: 0108504 | |
2022-05-25 07:35 | git | Note Added: 0108601 | |
2022-05-25 07:41 |
|
Note Added: 0108603 | |
2022-05-25 09:58 |
|
Assigned To | ddzama => bugmaster |
2022-05-25 09:58 |
|
Status | assigned => resolved |
2022-05-25 11:14 | kgv | Assigned To | bugmaster => msv |
2022-05-25 11:14 | kgv | Note Added: 0108604 | |
2022-05-25 12:49 |
|
Note Added: 0108605 | |
2022-05-25 12:51 |
|
Note Added: 0108606 | |
2022-05-25 12:53 |
|
Note Added: 0108607 | |
2022-05-25 12:53 |
|
Assigned To | msv => ddzama |
2022-05-25 12:53 |
|
Status | resolved => assigned |
2022-05-25 12:54 |
|
Note Edited: 0108605 | |
2022-05-25 13:15 | kgv | Note Added: 0108609 | |
2022-05-26 16:41 | git | Note Added: 0108630 | |
2022-05-27 10:01 | git | Note Added: 0108639 | |
2022-05-27 10:11 | git | Note Added: 0108640 | |
2022-05-27 13:04 |
|
Note Added: 0108646 | |
2022-05-27 13:04 |
|
Assigned To | ddzama => bugmaster |
2022-05-27 13:04 |
|
Status | assigned => resolved |
2022-05-27 13:31 |
|
Assigned To | bugmaster => msv |
2022-05-27 14:20 | kgv | Note Added: 0108653 | |
2022-05-27 14:20 | kgv | Note Edited: 0108653 | |
2022-05-27 14:39 |
|
Assigned To | msv => ddzama |
2022-05-27 14:39 |
|
Status | resolved => assigned |
2022-05-27 14:39 |
|
Note Added: 0108655 | |
2022-05-30 00:16 | git | Note Added: 0108736 | |
2022-05-30 00:18 | git | Note Added: 0108737 | |
2022-06-02 13:24 | git | Note Added: 0108791 | |
2022-06-03 04:39 |
|
Relationship added | child of 0032957 |
2022-06-03 12:40 | git | Note Added: 0108821 | |
2022-06-17 16:48 |
|
Relationship deleted | child of 0032887 |
2022-06-20 13:36 |
|
Relationship added | child of 0032887 |
2022-06-20 13:36 |
|
Relationship deleted | child of 0032957 |
2022-06-21 11:40 | git | Note Added: 0109136 | |
2022-06-24 07:07 |
|
Note Added: 0109211 | |
2022-06-24 07:14 |
|
Assigned To | ddzama => bugmaster |
2022-06-24 07:14 |
|
Status | assigned => resolved |
2022-06-24 09:40 | kgv | Note Added: 0109217 | |
2022-06-24 09:40 | kgv | Assigned To | bugmaster => msv |
2022-06-24 09:41 | kgv | Note Added: 0109218 | |
2022-06-24 13:21 |
|
Assigned To | msv => ddzama |
2022-06-24 13:21 |
|
Status | resolved => assigned |
2022-08-17 10:40 | git | Note Added: 0110250 | |
2022-08-18 12:47 | git | Note Added: 0110290 | |
2022-08-18 12:49 | git | Note Added: 0110291 | |
2022-08-18 12:57 | git | Note Added: 0110292 | |
2022-08-18 13:00 |
|
Note Added: 0110293 | |
2022-08-18 13:01 |
|
Assigned To | ddzama => kgv |
2022-08-18 13:01 |
|
Status | assigned => resolved |
2022-08-18 13:06 | kgv | Assigned To | kgv => msv |
2022-08-22 10:31 | git | Note Added: 0110334 | |
2022-08-29 12:50 | git | Note Added: 0110399 | |
2022-08-29 12:59 |
|
Note Added: 0110402 | |
2022-08-29 12:59 |
|
Assigned To | msv => ddzama |
2022-08-29 12:59 |
|
Status | resolved => assigned |
2022-08-29 13:33 | git | Note Added: 0110406 | |
2022-08-29 13:43 | git | Note Added: 0110407 | |
2022-08-29 15:19 | git | Note Added: 0110413 | |
2022-08-29 15:24 | git | Note Added: 0110414 | |
2022-08-29 15:26 |
|
Assigned To | ddzama => kgv |
2022-08-29 15:26 |
|
Status | assigned => resolved |
2022-08-29 15:28 |
|
Assigned To | kgv => bugmaster |
2022-08-29 15:28 |
|
Status | resolved => reviewed |
2022-08-29 15:28 |
|
Note Added: 0110415 | |
2022-08-31 10:30 |
|
Relationship added | parent of 0032986 |
2022-08-31 10:43 |
|
Relationship added | child of 0033117 |
2022-08-31 10:43 |
|
Relationship deleted | parent of 0032986 |
2022-08-31 10:44 |
|
Relationship added | child of 0032986 |
2022-08-31 17:04 | git | Note Added: 0110502 | |
2022-09-01 13:32 |
|
Assigned To | bugmaster => ddzama |
2022-09-01 13:32 |
|
Status | reviewed => assigned |
2022-09-01 13:32 |
|
Note Added: 0110529 | |
2022-09-05 09:41 | git | Note Added: 0110606 | |
2022-09-05 10:48 |
|
Note Added: 0110617 | |
2022-09-05 12:47 |
|
Note Added: 0110645 | |
2022-09-06 16:02 |
|
Description Updated | |
2022-09-06 16:12 |
|
Description Updated | |
2022-09-06 16:15 | git | Note Added: 0110751 | |
2022-09-06 16:18 |
|
Note Added: 0110752 | |
2022-09-06 16:19 |
|
Assigned To | ddzama => msv |
2022-09-06 16:19 |
|
Status | assigned => resolved |
2022-09-06 18:44 |
|
Assigned To | msv => bugmaster |
2022-09-06 18:44 |
|
Status | resolved => reviewed |
2022-09-06 18:44 |
|
Note Added: 0110767 | |
2022-09-11 13:57 |
|
Status | reviewed => tested |
2022-09-11 13:57 |
|
Note Added: 0110929 | |
2022-09-11 14:40 |
|
Changeset attached | => occt master e92d322d |
2022-09-11 14:40 |
|
Assigned To | bugmaster => ddzama |
2022-09-11 14:40 |
|
Status | tested => verified |
2022-09-11 14:40 |
|
Resolution | open => fixed |
2022-09-11 14:47 |
|
Changeset attached | => occt-products master e8a9460d |
2022-09-11 14:51 | git | Note Added: 0110942 | |
2022-09-11 14:51 | git | Note Added: 0110943 | |
2023-03-19 20:19 | vglukhik | Status | verified => closed |
2023-03-19 20:19 | vglukhik | Fixed in Version | => 7.7.0 |