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