From db253662d6b286dbf81eb9be365b61dd5ae59832 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9=20=D0=AE=D1=80?=
 =?UTF-8?q?=D1=8C=D0=B5=D0=B2=D0=B8=D1=87=20=D0=9D=D0=B5=D1=81=D1=82=D0=B5?=
 =?UTF-8?q?=D1=80=D0=B5=D0=BD=D0=BA=D0=BE?= <anesterenko@hse.ru>
Date: Wed, 6 Nov 2024 13:30:21 +0300
Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C=D1=88?=
 =?UTF-8?q?=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D0=B2=20?=
 =?UTF-8?q?CMakeLists.txt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 CMakeLists.txt | 43 +++++++++++++++++++++++++++++--------------
 1 file changed, 29 insertions(+), 14 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4b1343a5..637eaa0d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,7 +3,13 @@
 #
 # CMakeLists.txt
 # -------------------------------------------------------------------------------------------------- #
-cmake_minimum_required( VERSION 3.5 )
+# Минимальная версия cmake для сборки
+string( COMPARE EQUAL ${CMAKE_HOST_SYSTEM_NAME} "Minix" AK_MINIX )
+if( AK_MINIX )
+  cmake_minimum_required( VERSION 2.8 )
+else()
+  cmake_minimum_required( VERSION 3.5 )
+endif()
 
 # -------------------------------------------------------------------------------------------------- #
 set( HEAD_VERSION 0 )
@@ -41,6 +47,7 @@ string( COMPARE EQUAL ${CMAKE_HOST_SYSTEM_NAME} "FreeBSD" AK_FREEBSD )
 if( CMAKE_BUILD_TYPE )
 else()
  set( CMAKE_BUILD_TYPE Release )
+ set( CMAKE_C_FLAGS_RELEASE -DNDEBUG )
 endif()
 
 # -------------------------------------------------------------------------------------------------- #
@@ -109,11 +116,11 @@ string( COMPARE EQUAL ${CMAKE_SIZEOF_VOID_P} "4" AK_SIZEOF_VOID_P_IS_4 )
 string( COMPARE EQUAL ${CMAKE_SIZEOF_VOID_P} "8" AK_SIZEOF_VOID_P_IS_8 )
 
 if( AK_SIZEOF_VOID_P_IS_4 )
-  message("-- Using 32-bit architecture")
+  message("-- Using 32-bit architecture (sizeof(void *) == ${CMAKE_SIZEOF_VOID_P})")
   set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DAK_SIZEOF_VOID_P_IS_4" )
 endif()
 if( AK_SIZEOF_VOID_P_IS_8 )
-  message("-- Using 64-bit architecture")
+  message("-- Using 64-bit architecture (sizeof(void *) == ${CMAKE_SIZEOF_VOID_P})")
   set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DAK_SIZEOF_VOID_P_IS_8" )
 endif()
 
@@ -170,19 +177,12 @@ add_compile_options( -DLIBAKRYPT_COMPILER_NAME="${CMAKE_C_COMPILER_ID}" )
 add_compile_options( -DLIBAKRYPT_COMPILER_VERSION="${CMAKE_C_COMPILER_VERSION}" )
 add_compile_options( -DLIBAKRYPT_CA_PATH="${AK_CA_PATH}" )
 message("-- Used compile flags ${CMAKE_C_FLAGS}")
-#
-if( AK_LOCALE_PATH )
-else()
-  if( CMAKE_HOST_UNIX )
-    if( AK_FREEBSD )
-      set( AK_LOCALE_PATH "/usr/local/share/locale" )
-    else()
-      set( AK_LOCALE_PATH "/usr/share/locale" )
-    endif()
-    add_compile_options( -DLIBAKRYPT_LOCALE_PATH="${AK_LOCALE_PATH}" )
-  endif()
+if( CMAKE_BUILD_TYPE STREQUAL Release )
+  message("-- Used release compile flags ${CMAKE_C_FLAGS_RELEASE}")
 endif()
 
+# -------------------------------------------------------------------------------------------------- #
+# формируем команды для сборки библиотеки
 if( AK_SHARED_LIB )
   add_library( akbase-shared SHARED ${MAIN_HEADERS} ${AKBASE_SOURCES} )
   set_target_properties( akbase-shared PROPERTIES VERSION ${MAJOR_VERSION} SOVERSION ${FULL_VERSION} )
@@ -356,6 +356,21 @@ foreach( filename ${AKTOOL_SOURCES} )
   message("      ${filename}" )
 endforeach()
 
+# -------------------------------------------------------------------------------------------------- #
+# Определяем путь для локали
+if( AK_LOCALE_PATH )
+else()
+  if( CMAKE_HOST_UNIX )
+    if( AK_FREEBSD )
+      set( AK_LOCALE_PATH "/usr/local/share/locale" )
+    else()
+      set( AK_LOCALE_PATH "/usr/share/locale" )
+    endif()
+    add_compile_options( -DLIBAKRYPT_LOCALE_PATH="${AK_LOCALE_PATH}" )
+    message("-- Locale path ${AK_LOCALE_PATH}" )
+  endif()
+endif()
+
 # -------------------------------------------------------------------------------------------------- #
 # дополнительный (опциональный) функционал утилиты aktool
 macro( try_aktool_lib _lib _header )
-- 
GitLab