55# Purpose: Top-level CMake lists file for b64
66#
77# Created: 6th February 2024
8- # Updated: 6th May 2025
8+ # Updated: 30th July 2026
99#
1010# ######################################################################## #
1111
@@ -46,16 +46,15 @@ string(REGEX MATCH "#${RX_WS}*define${RX_WS}+_?${RX_PROJ_TAG}_VER_MAJOR${RX_WS}+
4646set (_VERSION_MAJOR ${CMAKE_MATCH_1} )
4747string (REGEX MATCH "#${RX_WS} *define${RX_WS} +_?${RX_PROJ_TAG} _VER_MINOR${RX_WS} +([0-9]+)" MINOR_DUMMY ${_header_file} )
4848set (_VERSION_MINOR ${CMAKE_MATCH_1} )
49- string (REGEX MATCH "#${RX_WS} *define${RX_WS} +_?${RX_PROJ_TAG} _VER_REVISION ${RX_WS} +([0-9]+)" PATCH_DUMMY ${_header_file} )
50- set (_VERSION_PATCH ${CMAKE_MATCH_1 } )
49+ string (REGEX MATCH "#${RX_WS} *define${RX_WS} +_?${RX_PROJ_TAG} _VER_(PATCH|REVISION) ${RX_WS} +([0-9]+)" PATCH_DUMMY ${_header_file} )
50+ set (_VERSION_PATCH ${CMAKE_MATCH_2 } )
5151
5252# set project version number here
5353set (PROJECT_VERSION_MAJOR ${_VERSION_MAJOR} )
5454set (PROJECT_VERSION_MINOR ${_VERSION_MINOR} )
5555set (PROJECT_VERSION_PATCH ${_VERSION_PATCH} )
5656set (PROJECT_VERSION "${PROJECT_VERSION_MAJOR } .${PROJECT_VERSION_MINOR } .${PROJECT_VERSION_PATCH } " )
5757
58-
5958# adhere strictly to C and C++ standards plus extensions. These are actually
6059# useless since we do not compile anything; they merely state our intention.
6160set (CMAKE_C_STANDARD 17)
@@ -67,6 +66,11 @@ set(CMAKE_CXX_EXTENSIONS ON)
6766
6867if (MSVC )
6968
69+ if (MSVC_VERSION LESS 1800)
70+
71+ add_compile_options ("/wd4996" )
72+ endif ()
73+
7074 if (MSVC_VERSION LESS 1930)
7175
7276 set (CMAKE_C_STANDARD 90)
@@ -106,6 +110,7 @@ include(TargetMacros)
106110
107111option (BUILD_EXAMPLES "Build examples" ON )
108112
113+ option (BUILD_TESTING "Build tests" ON )
109114
110115# ######################################
111116# features
0 commit comments