Files
kwa-core/sdi_toolBox_2.x.x/doc/html/cmake.html
Sylvain Schneider 0165dfe8f0 Initial UI setup
2026-05-22 17:24:30 +02:00

426 lines
24 KiB
HTML

<!-- HTML header for doxygen 1.9.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<title>SDi toolsBox</title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="custom_doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">sdi_toolBox
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div><div class="header">
<div class="headertitle"><div class="title">Template cmake</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div class="fragment"><div class="line">cmake_minimum_required (VERSION 3.23)</div>
<div class="line"> </div>
<div class="line">#--- v1.0.0 ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line">#--- Setup compiler settings ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line"># Set C language standard</div>
<div class="line">set(CMAKE_C_STANDARD 17)</div>
<div class="line">set(CMAKE_C_STANDARD_REQUIRED ON)</div>
<div class="line">set(CMAKE_C_EXTENSIONS OFF) # Only standard features, no compiler-specific extensions</div>
<div class="line"> </div>
<div class="line"># Set C++ language standard</div>
<div class="line">set(CMAKE_CXX_STANDARD 23)</div>
<div class="line">set(CMAKE_CXX_STANDARD_REQUIRED ON)</div>
<div class="line">set(CMAKE_CXX_EXTENSIONS OFF) # Only standard features, no compiler-specific extensions</div>
<div class="line"> </div>
<div class="line"># Options</div>
<div class="line">option(APP_WIN32 &quot;Build app as a Windows GUI application&quot; OFF)</div>
<div class="line"> </div>
<div class="line"># Set compiler flags based on build type</div>
<div class="line">set(GENERAL_C_FLAGS</div>
<div class="line"> /MP # Enable multi-processor compilation</div>
<div class="line">)</div>
<div class="line">set(GENERAL_CXX_FLAGS</div>
<div class="line"> /MP # Enable multi-processor compilation</div>
<div class="line"> /EHsc # Enable C++ exception handling</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line">set(DEBUG_C_FLAGS</div>
<div class="line"> /Od # Disable optimization for debugging</div>
<div class="line"> /Zi # Generate complete debugging information</div>
<div class="line"> /RTC1 # Enable runtime error checks</div>
<div class="line"> /Ob0 # Disable inline expansion</div>
<div class="line"> /W3 # Enable standard warnings</div>
<div class="line"># /W4 # Enable high-level warnings</div>
<div class="line">)</div>
<div class="line">set(DEBUG_CXX_FLAGS</div>
<div class="line"> /Od # Disable optimization for debugging</div>
<div class="line"> /Zi # Generate complete debugging information</div>
<div class="line"> /RTC1 # Enable runtime error checks</div>
<div class="line"> /Ob0 # Disable inline expansion</div>
<div class="line"> /W3 # Enable standard warnings</div>
<div class="line"># /W4 # Enable high-level warnings</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line">set(RELEASE_C_FLAGS</div>
<div class="line"> /O2 # Optimize for speed</div>
<div class="line"> /Ot # Favor fast code</div>
<div class="line"> /Oi # Generate intrinsic functions</div>
<div class="line"> /GL # Enable whole program optimization</div>
<div class="line"> /Ob2 # Enable inline expansion</div>
<div class="line"> /W3 # Enable standard warnings</div>
<div class="line"># /W4 # Enable high-level warnings</div>
<div class="line">)</div>
<div class="line">set(RELEASE_CXX_FLAGS</div>
<div class="line"> /O2 # Optimize for speed</div>
<div class="line"> /Ot # Favor fast code</div>
<div class="line"> /Oi # Generate intrinsic functions</div>
<div class="line"> /GL # Enable whole program optimization</div>
<div class="line"> /Ob2 # Enable inline expansion</div>
<div class="line"> /W3 # Enable standard warnings</div>
<div class="line"># /W4 # Enable high-level warnings</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">#------------------------------------------------</div>
<div class="line">#--- Project configuration ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line"># Define the project settings</div>
<div class="line">project(&quot;projectName&quot;)</div>
<div class="line"> </div>
<div class="line"># Source directory</div>
<div class="line">set(SRC_DIR</div>
<div class="line"> &quot;src&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Resource files (add resource files here if needed)</div>
<div class="line">set(RESOURCE_FILES </div>
<div class="line"># &quot;src/file.rc&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line">#------------------------------------------------</div>
<div class="line">#--- Sanity checks ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line"># Ensure build type is set (Debug, Release, etc.)</div>
<div class="line">if(NOT CMAKE_BUILD_TYPE)</div>
<div class="line"> message(FATAL_ERROR &quot;CMAKE_BUILD_TYPE must be set&quot;)</div>
<div class="line">endif()</div>
<div class="line"> </div>
<div class="line"># Ensure DEV_LIB environment variable is defined (used for external libraries)</div>
<div class="line">if(NOT DEFINED ENV{DEV_LIB})</div>
<div class="line"> message(FATAL_ERROR &quot;DEV_LIB environment variable must be defined&quot;)</div>
<div class="line">endif() </div>
<div class="line">set(DEV_LIB $ENV{DEV_LIB})</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">#------------------------------------------------</div>
<div class="line">#--- Include directories ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line"># General include directories (add your common include paths here)</div>
<div class="line">set(GENERAL_INCLUDE_DIRS</div>
<div class="line"> &quot;src&quot;</div>
<div class="line"> &quot;sdi_toolBox_1.0.x/toolBox&quot;</div>
<div class="line"> &quot;${DEV_LIB}/boost_1_87_0&quot;</div>
<div class="line"> &quot;${DEV_LIB}/wxWidgets-3.2.8/include/msvc&quot;</div>
<div class="line"> &quot;${DEV_LIB}/wxWidgets-3.2.8/include&quot;</div>
<div class="line"> &quot;${DEV_LIB}/openssl-3.5.0/include&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Additional include directories for Debug configuration</div>
<div class="line">set(DEBUG_INCLUDE_DIRS</div>
<div class="line"> # &quot;path/to/debug/include&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Additional include directories for Release configuration</div>
<div class="line">set(RELEASE_INCLUDE_DIRS</div>
<div class="line"> # &quot;path/to/debug/include&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">#------------------------------------------------</div>
<div class="line">#--- Library directories ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line"># General library directories (add your common library paths here)</div>
<div class="line">set(GENERAL_LIBRARY_DIRS</div>
<div class="line"> ${CMAKE_BINARY_DIR}</div>
<div class="line"> &quot;${DEV_LIB}/boost_1_87_0/stage/lib&quot;</div>
<div class="line"> &quot;${DEV_LIB}/wxWidgets-3.2.8/lib/vc_x64_lib&quot;</div>
<div class="line"> &quot;${DEV_LIB}/openssl-3.5.0/lib&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Additional library directories for Debug configuration</div>
<div class="line">set(DEBUG_LIBRARY_DIRS</div>
<div class="line"> # &quot;path/to/debug/lib&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Additional library directories for Release configuration</div>
<div class="line">set(RELEASE_LIBRARY_DIRS</div>
<div class="line"> # &quot;path/to/debug/lib&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">#------------------------------------------------</div>
<div class="line">#--- Preprocessor definitions ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line"># General preprocessor definitions (add your common defines here)</div>
<div class="line">set(GENERAL_PREPROCESSOR_DEFINITIONS</div>
<div class="line"> &quot;_CRT_SECURE_NO_DEPRECATE&quot;</div>
<div class="line"> &quot;_CRT_NONSTDC_NO_DEPRECATE&quot;</div>
<div class="line"> &quot;_UNICODE&quot;</div>
<div class="line"> &quot;_WINDOWS&quot;</div>
<div class="line"> &quot;NOMINMAX&quot;</div>
<div class="line"> &quot;UNICODE&quot;</div>
<div class="line"> &quot;WIN32&quot;</div>
<div class="line"> &quot;WIN32_LEAN_AND_MEAN&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Additional preprocessor definitions for Debug configuration</div>
<div class="line">set(DEBUG_PREPROCESSOR_DEFINITIONS</div>
<div class="line"> &quot;_DEBUG&quot;</div>
<div class="line"> &quot;DEBUG&quot;</div>
<div class="line"> &quot;WXDEBUG&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Additional preprocessor definitions for Release configuration</div>
<div class="line">set(RELEASE_PREPROCESSOR_DEFINITIONS</div>
<div class="line"> &quot;NDEBUG&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">#------------------------------------------------</div>
<div class="line">#--- Libraries and DLLs ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line"># General libraries to link (add your common libraries here)</div>
<div class="line">set(GENERAL_LIB</div>
<div class="line"># &quot;libssl.lib&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Additional libraries for Debug configuration</div>
<div class="line">set(DEBUG_LIB</div>
<div class="line"> # &quot;libDebug.lib&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Additional libraries for Release configuration</div>
<div class="line">set(RELEASE_LIB</div>
<div class="line"> # &quot;libRelease.lib&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># General DLLs to copy after build (add your common DLLs here)</div>
<div class="line">set(GENERAL_BIN</div>
<div class="line"> # &quot;path/to/dll&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Additional DLLs for Debug configuration</div>
<div class="line">set(DEBUG_BIN</div>
<div class="line"> # &quot;path/to/debug/dll&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Additional DLLs for Release configuration</div>
<div class="line">set(RELEASE_BIN</div>
<div class="line"> # &quot;path/to/release/dll&quot;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">#------------------------------------------------</div>
<div class="line">#--- MSVC Debug Information Format Policy ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line"># Ensure CMake policy CMP0141 is set to NEW to control the MSVC debug information format.</div>
<div class="line"># This sets CMAKE_MSVC_DEBUG_INFORMATION_FORMAT to &quot;EditAndContinue&quot; for Debug and RelWithDebInfo configurations,</div>
<div class="line"># and to &quot;ProgramDatabase&quot; for other configurations, but only when using the MSVC compiler.</div>
<div class="line">if (POLICY CMP0141)</div>
<div class="line"> cmake_policy(SET CMP0141 NEW)</div>
<div class="line"> set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT &quot;$&lt;IF:$&lt;AND:$&lt;C_COMPILER_ID:MSVC&gt;,$&lt;CXX_COMPILER_ID:MSVC&gt;&gt;,$&lt;$&lt;CONFIG:Debug,RelWithDebInfo&gt;:EditAndContinue&gt;,$&lt;$&lt;CONFIG:Debug,RelWithDebInfo&gt;:ProgramDatabase&gt;&gt;&quot;)</div>
<div class="line">endif()</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">#------------------------------------------------</div>
<div class="line">#--- Source files gathering ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line"># Collect all C and C++ source files recursively</div>
<div class="line">file(GLOB_RECURSE SOURCES_C &quot;${SRC_DIR}/*.c&quot;)</div>
<div class="line">file(GLOB_RECURSE SOURCES_CPP &quot;${SRC_DIR}/*.cpp&quot;)</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">#------------------------------------------------</div>
<div class="line">#--- Target definition ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line"># Define the main executable target</div>
<div class="line">if(APP_WIN32)</div>
<div class="line"> add_executable(${PROJECT_NAME} WIN32</div>
<div class="line"> ${SOURCES_C}</div>
<div class="line"> ${SOURCES_CPP}</div>
<div class="line"> ${RESOURCE_FILES}</div>
<div class="line"> )</div>
<div class="line">else()</div>
<div class="line"> add_executable(${PROJECT_NAME}</div>
<div class="line"> ${SOURCES_C}</div>
<div class="line"> ${SOURCES_CPP}</div>
<div class="line"> ${RESOURCE_FILES}</div>
<div class="line"> )</div>
<div class="line">endif()</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">#------------------------------------------------</div>
<div class="line">#--- Target properties setup ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line"># Setup include directories</div>
<div class="line">target_include_directories(${PROJECT_NAME} PRIVATE</div>
<div class="line"> ${GENERAL_INCLUDE_DIRS}</div>
<div class="line"> $&lt;$&lt;CONFIG:Debug&gt;:${DEBUG_INCLUDE_DIRS}&gt;</div>
<div class="line"> $&lt;$&lt;CONFIG:Release&gt;:${RELEASE_INCLUDE_DIRS}&gt;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Setup library directories</div>
<div class="line">target_link_directories(${PROJECT_NAME} PRIVATE</div>
<div class="line"> ${GENERAL_LIBRARY_DIRS}</div>
<div class="line"> $&lt;$&lt;CONFIG:Debug&gt;:${DEBUG_LIBRARY_DIRS}&gt;</div>
<div class="line"> $&lt;$&lt;CONFIG:Release&gt;:${RELEASE_LIBRARY_DIRS}&gt;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Setup preprocessor definitions</div>
<div class="line">target_compile_definitions(${PROJECT_NAME} PRIVATE</div>
<div class="line"> ${GENERAL_PREPROCESSOR_DEFINITIONS}</div>
<div class="line"> $&lt;$&lt;CONFIG:Debug&gt;:${DEBUG_PREPROCESSOR_DEFINITIONS}&gt;</div>
<div class="line"> $&lt;$&lt;CONFIG:Release&gt;:${RELEASE_PREPROCESSOR_DEFINITIONS}&gt;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Setup linked libraries</div>
<div class="line">target_link_libraries(${PROJECT_NAME} PRIVATE</div>
<div class="line"> ${GENERAL_LIB}</div>
<div class="line"> $&lt;$&lt;CONFIG:Debug&gt;:${DEBUG_LIB}&gt;</div>
<div class="line"> $&lt;$&lt;CONFIG:Release&gt;:${RELEASE_LIB}&gt;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"># Setup compiler options</div>
<div class="line">set(PROJET_C_FLAGS</div>
<div class="line"> ${GENERAL_C_FLAGS}</div>
<div class="line"> $&lt;$&lt;CONFIG:Debug&gt;:${DEBUG_C_FLAGS}&gt;</div>
<div class="line"> $&lt;$&lt;CONFIG:Release&gt;:${RELEASE_C_FLAGS}&gt;</div>
<div class="line">)</div>
<div class="line">set(PROJET_CXX_FLAGS</div>
<div class="line"> ${GENERAL_CXX_FLAGS}</div>
<div class="line"> $&lt;$&lt;CONFIG:Debug&gt;:${DEBUG_CXX_FLAGS}&gt;</div>
<div class="line"> $&lt;$&lt;CONFIG:Release&gt;:${RELEASE_CXX_FLAGS}&gt;</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line">target_compile_options(${PROJECT_NAME} PRIVATE</div>
<div class="line"> $&lt;$&lt;COMPILE_LANGUAGE:C&gt;:${PROJET_C_FLAGS}&gt; # Apply to C files</div>
<div class="line"> $&lt;$&lt;COMPILE_LANGUAGE:CXX&gt;:${PROJET_CXX_FLAGS}&gt; # Apply to C++ files</div>
<div class="line">)</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line"># Setup compiler and linker options (MSVC specific)</div>
<div class="line">if(MSVC)</div>
<div class="line"> target_link_options(${PROJECT_NAME} PRIVATE &quot;/ignore:4099&quot; /PROFILE)</div>
<div class="line">endif()</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">#------------------------------------------------</div>
<div class="line">#--- Post-build: Copy DLLs ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line"># Copy DLLs to the output directory after build</div>
<div class="line">if(GENERAL_BIN OR DEBUG_BIN OR RELEASE_BIN)</div>
<div class="line"> add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD</div>
<div class="line"> COMMAND ${CMAKE_COMMAND} -E copy_if_different</div>
<div class="line"> ${GENERAL_BIN}</div>
<div class="line"> $&lt;$&lt;CONFIG:Debug&gt;:${DEBUG_BIN}&gt;</div>
<div class="line"> $&lt;$&lt;CONFIG:Release&gt;:${RELEASE_BIN}&gt;</div>
<div class="line"> ${CMAKE_BINARY_DIR}</div>
<div class="line"> )</div>
<div class="line">endif()</div>
<div class="line"> </div>
<div class="line"> </div>
<div class="line">#------------------------------------------------</div>
<div class="line">#--- Project compilation log ---</div>
<div class="line">#------------------------------------------------</div>
<div class="line"># Print project and environment information for diagnostics</div>
<div class="line">message(STATUS &quot;-------------------------------------------------------&quot;)</div>
<div class="line">message(STATUS &quot;┏(-_-)┛┗(-_-)┓┗(-_-)┛┏(-_-)┓┏(-_-)┓┗(-_-)┛┏(-_-)┛┗(-_-)┓&quot;)</div>
<div class="line">message(STATUS &quot;-------------------------------------------------------&quot;)</div>
<div class="line">message(STATUS &quot;--- Platform Information ------------------------------&quot;)</div>
<div class="line">message(STATUS &quot;System Name: ${CMAKE_SYSTEM_NAME}&quot;)</div>
<div class="line">message(STATUS &quot;Processor: ${CMAKE_SYSTEM_PROCESSOR}&quot;)</div>
<div class="line">message(STATUS &quot;CMake Generator: ${CMAKE_GENERATOR}&quot;)</div>
<div class="line">message(STATUS &quot;-------------------------------------------------------&quot;)</div>
<div class="line">message(STATUS &quot;--- Compiler/Language Settings ------------------------&quot;)</div>
<div class="line">message(STATUS &quot;Build Type: ${CMAKE_BUILD_TYPE}&quot;)</div>
<div class="line">message(STATUS &quot;C Standard: ${CMAKE_C_STANDARD}&quot;)</div>
<div class="line">message(STATUS &quot;C Compiler ID: ${CMAKE_C_COMPILER_ID}&quot;)</div>
<div class="line">message(STATUS &quot;C Compiler Version: ${CMAKE_C_COMPILER_VERSION}&quot;)</div>
<div class="line">message(STATUS &quot;C Common Compiler Flags: ${GENERAL_C_FLAGS}&quot;)</div>
<div class="line">message(STATUS &quot;C Debug Compiler Flags: ${DEBUG_C_FLAGS}&quot;)</div>
<div class="line">message(STATUS &quot;C Release Compiler Flags: ${RELEASE_C_FLAGS}&quot;)</div>
<div class="line">message(STATUS &quot;C++ Standard: ${CMAKE_CXX_STANDARD}&quot;)</div>
<div class="line">message(STATUS &quot;C++ Compiler ID: ${CMAKE_CXX_COMPILER_ID}&quot;)</div>
<div class="line">message(STATUS &quot;C++ Compiler Version: ${CMAKE_CXX_COMPILER_VERSION}&quot;)</div>
<div class="line">message(STATUS &quot;C++ Common Compiler Flags: ${GENERAL_CXX_FLAGS}&quot;)</div>
<div class="line">message(STATUS &quot;C++ Debug Compiler Flags: ${DEBUG_CXX_FLAGS}&quot;)</div>
<div class="line">message(STATUS &quot;C++ Release Compiler Flags: ${RELEASE_CXX_FLAGS}&quot;)</div>
<div class="line">message(STATUS &quot;Common Linker Flags: ${CMAKE_EXE_LINKER_FLAGS}&quot;)</div>
<div class="line">message(STATUS &quot;Debug Linker Flags: ${CMAKE_EXE_LINKER_FLAGS_DEBUG}&quot;)</div>
<div class="line">message(STATUS &quot;Release Linker Flags: ${CMAKE_EXE_LINKER_FLAGS_RELEASE}&quot;)</div>
<div class="line">message(STATUS &quot;-------------------------------------------------------&quot;)</div>
<div class="line">message(STATUS &quot;--- Path Information ----------------------------------&quot;)</div>
<div class="line">message(STATUS &quot;Source Dir: ${CMAKE_CURRENT_SOURCE_DIR}&quot;)</div>
<div class="line">message(STATUS &quot;Binary Dir: ${CMAKE_CURRENT_BINARY_DIR}&quot;)</div>
<div class="line">if(MSVC)</div>
<div class="line"> message(STATUS &quot;-------------------------------------------------------&quot;)</div>
<div class="line"> message(STATUS &quot;--- Microsoft Visual C++ (MSVC) Information -----------&quot;)</div>
<div class="line"> # Check the major compiler version</div>
<div class="line"> if(MSVC_VERSION GREATER_EQUAL 1950)</div>
<div class="line"> message(STATUS &quot;MSVC Compiler Version: ${MSVC_VERSION} (Visual Studio 2026 or newer)&quot;)</div>
<div class="line"> elseif(MSVC_VERSION GREATER_EQUAL 1930)</div>
<div class="line"> message(STATUS &quot;MSVC Compiler Version: ${MSVC_VERSION} (Visual Studio 2022)&quot;)</div>
<div class="line"> endif()</div>
<div class="line">message(STATUS &quot;MSVC Toolset Version: ${MSVC_TOOLSET_VERSION}&quot;)</div>
<div class="line">endif()</div>
<div class="line">message(STATUS &quot;-------------------------------------------------------&quot;)</div>
<div class="line">message(STATUS &quot;--- Project Information -------------------------------&quot;)</div>
<div class="line">message(STATUS &quot;Project Name: ${PROJECT_NAME}&quot;)</div>
<div class="line">message(STATUS &quot;Preset Name: ${PRESET_NAME}&quot;)</div>
<div class="line">message(STATUS &quot;-------------------------------------------------------&quot;)</div>
<div class="line">message(STATUS &quot;┏(-_-)┛┗(-_-)┓┗(-_-)┛┏(-_-)┓┏(-_-)┓┗(-_-)┛┏(-_-)┛┗(-_-)┓&quot;)</div>
<div class="line">message(STATUS &quot;-------------------------------------------------------&quot;)</div>
</div><!-- fragment --> </div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- HTML footer for doxygen 1.9.8-->
<!-- start footer part -->
<hr class="footer"/><address class="footer">
<small>
SDi toolsBox is licensed under the terms and conditions of the <a href="https://opensource.org/licenses/zlib-license.php" target="_blank">zlib/png license</a>
<br />
Copyright (c) 2026 - SD-Innovation S.A.S. - FRANCE | ver: 2.x.x - build: 2026-04-28
<br />
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen" /></a> 1.9.8
</small>
</address>
</body>
</html>