Commit 096eb54e authored by Нестеренко Алексей Юрьевич's avatar Нестеренко Алексей Юрьевич :headphones:
Browse files

Добавлена опция AK_BASE для сборки единой библиотеки

parent 7d3ff709
No related merge requests found
Showing with 151 additions and 67 deletions
+151 -67
...@@ -21,6 +21,7 @@ project( libakrypt C ) ...@@ -21,6 +21,7 @@ project( libakrypt C )
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
# Перечень доступных опций для сборки библиотеки # Перечень доступных опций для сборки библиотеки
option( AK_BASE "Build two separate libraries - libkrypt and libakrypt-base" OFF )
option( AK_SHARED_LIB "Build the shared library" ON ) option( AK_SHARED_LIB "Build the shared library" ON )
option( AK_STATIC_LIB "Build the static library" OFF ) option( AK_STATIC_LIB "Build the static library" OFF )
option( AK_EXAMPLES "Build examples for libakrypt" OFF ) option( AK_EXAMPLES "Build examples for libakrypt" OFF )
...@@ -112,11 +113,11 @@ string( COMPARE EQUAL ${CMAKE_SIZEOF_VOID_P} "4" AK_SIZEOF_VOID_P_IS_4 ) ...@@ -112,11 +113,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 ) string( COMPARE EQUAL ${CMAKE_SIZEOF_VOID_P} "8" AK_SIZEOF_VOID_P_IS_8 )
if( AK_SIZEOF_VOID_P_IS_4 ) if( AK_SIZEOF_VOID_P_IS_4 )
message("-- Using 32-bit architecture") message( STATUS "Using 32-bit architecture")
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DAK_SIZEOF_VOID_P_IS_4" ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DAK_SIZEOF_VOID_P_IS_4" )
endif() endif()
if( AK_SIZEOF_VOID_P_IS_8 ) if( AK_SIZEOF_VOID_P_IS_8 )
message("-- Using 64-bit architecture") message( STATUS "Using 64-bit architecture")
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DAK_SIZEOF_VOID_P_IS_8" ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DAK_SIZEOF_VOID_P_IS_8" )
endif() endif()
...@@ -133,7 +134,7 @@ include( GNUInstallDirs ) ...@@ -133,7 +134,7 @@ include( GNUInstallDirs )
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
# Вырабатываем заголовочный файл (в каталоге сборки) # Вырабатываем заголовочный файл (в каталоге сборки)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/source/libakrypt-base.h.in ${CMAKE_CURRENT_BINARY_DIR}/libakrypt-base.h @ONLY ) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/source/libakrypt-base.h.in ${CMAKE_CURRENT_BINARY_DIR}/libakrypt-base.h @ONLY )
message("-- Generation of libakrypt-base.h is done") message( STATUS "Generation of libakrypt-base.h is done")
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
# Определяем место хранения файла с настройками библиотеки # Определяем место хранения файла с настройками библиотеки
...@@ -147,7 +148,7 @@ else() ...@@ -147,7 +148,7 @@ else()
set( AK_CONFIG_PATH "C:\\\\Program Files\\\\Akrypt" ) set( AK_CONFIG_PATH "C:\\\\Program Files\\\\Akrypt" )
endif() endif()
endif() endif()
message("-- Path for libakrypt.conf is ${AK_CONFIG_PATH}") message( STATUS "Path for libakrypt.conf is ${AK_CONFIG_PATH}")
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
# Определяем место хранения доверенных сертификатов библиотеки # Определяем место хранения доверенных сертификатов библиотеки
...@@ -161,7 +162,7 @@ else() ...@@ -161,7 +162,7 @@ else()
set( AK_CA_PATH "C:\\\\Program Files\\\\Akrypt\\\\ca-certificates" ) set( AK_CA_PATH "C:\\\\Program Files\\\\Akrypt\\\\ca-certificates" )
endif() endif()
endif() endif()
message("-- Path for ca-certificates is ${AK_CA_PATH}") message( STATUS "Path for ca-certificates is ${AK_CA_PATH}")
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
# Определем процедуры сборки библиотек - статической или динамической # Определем процедуры сборки библиотек - статической или динамической
...@@ -172,39 +173,61 @@ add_compile_options( -DLIBAKRYPT_VERSION="${FULL_VERSION}" ) ...@@ -172,39 +173,61 @@ add_compile_options( -DLIBAKRYPT_VERSION="${FULL_VERSION}" )
add_compile_options( -DLIBAKRYPT_COMPILER_NAME="${CMAKE_C_COMPILER_ID}" ) add_compile_options( -DLIBAKRYPT_COMPILER_NAME="${CMAKE_C_COMPILER_ID}" )
add_compile_options( -DLIBAKRYPT_COMPILER_VERSION="${CMAKE_C_COMPILER_VERSION}" ) add_compile_options( -DLIBAKRYPT_COMPILER_VERSION="${CMAKE_C_COMPILER_VERSION}" )
add_compile_options( -DLIBAKRYPT_CA_PATH="${AK_CA_PATH}" ) add_compile_options( -DLIBAKRYPT_CA_PATH="${AK_CA_PATH}" )
message("-- Used compile flags ${CMAKE_C_FLAGS}") message( STATUS "Used compile flags ${CMAKE_C_FLAGS}")
if( CMAKE_BUILD_TYPE STREQUAL Release ) if( CMAKE_BUILD_TYPE STREQUAL Release )
message("-- Used release compile flags ${CMAKE_C_FLAGS_RELEASE}") message( STATUS "Used release compile flags ${CMAKE_C_FLAGS_RELEASE}")
endif() endif()
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
# формируем команды для сборки библиотеки # формируем команды для сборки библиотеки
if( AK_BASE )
message( STATUS "Options AK_BASE is ON" )
else()
message( STATUS "Options AK_BASE is OFF" )
endif()
if( AK_SHARED_LIB ) if( AK_SHARED_LIB )
add_library( akbase-shared SHARED ${MAIN_HEADERS} ${AKBASE_SOURCES} if( AK_BASE )
cmake/MakeAktool.cmake ) add_library( akbase-shared SHARED ${MAIN_HEADERS} ${AKBASE_SOURCES} )
set_target_properties( akbase-shared PROPERTIES VERSION ${MAJOR_VERSION} SOVERSION ${FULL_VERSION} ) set_target_properties( akbase-shared PROPERTIES VERSION ${MAJOR_VERSION} SOVERSION ${FULL_VERSION} )
set_target_properties( akbase-shared PROPERTIES OUTPUT_NAME akrypt-base CLEAN_DIRECT_CUSTOM 1 ) set_target_properties( akbase-shared PROPERTIES OUTPUT_NAME akrypt-base CLEAN_DIRECT_CUSTOM 1 )
target_link_libraries( akbase-shared ${LIBAKRYPT_LIBS} ) target_link_libraries( akbase-shared ${LIBAKRYPT_LIBS} )
message( "-- Building libakrypt-base: shared library" ) message( STATUS "Building libakrypt-base: shared library" )
add_library( akrypt-shared SHARED ${MAIN_HEADERS} ${AKRYPT_SOURCES} ) add_library( akrypt-shared SHARED ${MAIN_HEADERS} ${AKRYPT_SOURCES} )
set_target_properties( akrypt-shared PROPERTIES VERSION ${MAJOR_VERSION} SOVERSION ${FULL_VERSION} ) set_target_properties( akrypt-shared PROPERTIES VERSION ${MAJOR_VERSION} SOVERSION ${FULL_VERSION} )
set_target_properties( akrypt-shared PROPERTIES OUTPUT_NAME akrypt CLEAN_DIRECT_CUSTOM 1 ) set_target_properties( akrypt-shared PROPERTIES OUTPUT_NAME akrypt CLEAN_DIRECT_CUSTOM 1 )
target_link_libraries( akrypt-shared akbase-shared ${LIBAKRYPT_LIBS} ) target_link_libraries( akrypt-shared akbase-shared ${LIBAKRYPT_LIBS} )
message( "-- Building libakrypt: shared library" ) message( STATUS "Building libakrypt: shared library" )
else()
add_library( akrypt-shared SHARED ${MAIN_HEADERS} ${AKBASE_SOURCES} ${AKRYPT_SOURCES} )
set_target_properties( akrypt-shared PROPERTIES VERSION ${MAJOR_VERSION} SOVERSION ${FULL_VERSION} )
set_target_properties( akrypt-shared PROPERTIES OUTPUT_NAME akrypt CLEAN_DIRECT_CUSTOM 1 )
target_link_libraries( akrypt-shared ${LIBAKRYPT_LIBS} )
message( STATUS "Building libakrypt: shared library" )
endif()
endif() endif()
# #
if( AK_STATIC_LIB ) if( AK_STATIC_LIB )
add_library( akbase-static STATIC ${MAIN_HEADERS} ${AKBASE_SOURCES} ) if( AK_BASE )
set_target_properties( akbase-static PROPERTIES OUTPUT_NAME akrypt-base CLEAN_DIRECT_CUSTOM 1 ) add_library( akbase-static STATIC ${MAIN_HEADERS} ${AKBASE_SOURCES} )
target_link_libraries( akbase-static ${LIBAKRYPT_LIBS} ) set_target_properties( akbase-static PROPERTIES OUTPUT_NAME akrypt-base CLEAN_DIRECT_CUSTOM 1 )
message( "-- Building libakrypt-base: static library" ) target_link_libraries( akbase-static ${LIBAKRYPT_LIBS} )
message( STATUS "Building libakrypt-base: static library" )
add_library( akrypt-static STATIC ${MAIN_HEADERS} ${AKRYPT_SOURCES} )
set_target_properties( akrypt-static PROPERTIES OUTPUT_NAME akrypt CLEAN_DIRECT_CUSTOM 1 ) add_library( akrypt-static STATIC ${MAIN_HEADERS} ${AKRYPT_SOURCES} )
target_link_libraries( akrypt-static akbase-static ${LIBAKRYPT_LIBS} ) set_target_properties( akrypt-static PROPERTIES OUTPUT_NAME akrypt CLEAN_DIRECT_CUSTOM 1 )
message( "-- Building libakrypt: static library" ) target_link_libraries( akrypt-static akbase-static ${LIBAKRYPT_LIBS} )
message( STATUS "Building libakrypt: static library" )
else()
add_library( akrypt-static STATIC ${MAIN_HEADERS} ${AKBASE_SOURCES} ${AKRYPT_SOURCES} )
set_target_properties( akrypt-static PROPERTIES OUTPUT_NAME akrypt CLEAN_DIRECT_CUSTOM 1 )
target_link_libraries( akrypt-static ${LIBAKRYPT_LIBS} )
message( STATUS "Building libakrypt: static library" )
endif()
endif() endif()
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
...@@ -233,37 +256,53 @@ set( EXAMPLES_LIST ...@@ -233,37 +256,53 @@ set( EXAMPLES_LIST
) )
if( AK_EXAMPLES ) if( AK_EXAMPLES )
message("-- Akbase examples (now \"make test\" enabled):" ) message( STATUS "Akbase examples (now \"make test\" enabled):" )
enable_testing() enable_testing()
foreach( programm ${BASE_EXAMPLES_LIST} ) foreach( programm ${BASE_EXAMPLES_LIST} )
if( AK_STATIC_LIB ) if( AK_STATIC_LIB )
add_executable( example-${programm} examples/akbase/example-${programm}.c ) add_executable( example-${programm} examples/akbase/example-${programm}.c )
target_link_libraries( example-${programm} akbase-static ${LIBAKRYPT_LIBS} ) if( AK_BASE )
message(" example-${programm}" ) target_link_libraries( example-${programm} akbase-static ${LIBAKRYPT_LIBS} )
else()
target_link_libraries( example-${programm} akrypt-static ${LIBAKRYPT_LIBS} )
endif()
message( NOTICE " example-${programm}" )
add_test( NAME example-${programm} COMMAND example-${programm} ) add_test( NAME example-${programm} COMMAND example-${programm} )
endif() endif()
if( AK_SHARED_LIB ) if( AK_SHARED_LIB )
add_executable( example-shared-${programm} examples/akbase/example-${programm}.c ) add_executable( example-shared-${programm} examples/akbase/example-${programm}.c )
target_link_libraries( example-shared-${programm} akbase-shared ${LIBAKRYPT_LIBS} ) if( AK_BASE )
message(" example-shared-${programm}" ) target_link_libraries( example-shared-${programm} akbase-shared ${LIBAKRYPT_LIBS} )
else()
target_link_libraries( example-shared-${programm} akrypt-shared ${LIBAKRYPT_LIBS} )
endif()
message( NOTICE " example-shared-${programm}" )
add_test( NAME example-shared-${programm} COMMAND example-shared-${programm} ) add_test( NAME example-shared-${programm} COMMAND example-shared-${programm} )
endif() endif()
endforeach() endforeach()
# теперь то же самое, но из другого каталога + дополнительные зависимости # теперь то же самое, но из другого каталога + дополнительные зависимости
message("-- FAQ examples:" ) message( STATUS "FAQ examples:" )
enable_testing() enable_testing()
foreach( programm ${EXAMPLES_LIST} ) foreach( programm ${EXAMPLES_LIST} )
if( AK_STATIC_LIB ) if( AK_STATIC_LIB )
add_executable( example-${programm} examples/faq/example-${programm}.c ) add_executable( example-${programm} examples/faq/example-${programm}.c )
target_link_libraries( example-${programm} akbase-static akrypt-static ${LIBAKRYPT_LIBS} ) if( AK_BASE )
message(" example-${programm}" ) target_link_libraries( example-${programm} akbase-static akrypt-static ${LIBAKRYPT_LIBS} )
else()
target_link_libraries( example-${programm} akrypt-static ${LIBAKRYPT_LIBS} )
endif()
message( NOTICE " example-${programm}" )
add_test( NAME example-static-${programm} COMMAND example-${programm} ) add_test( NAME example-static-${programm} COMMAND example-${programm} )
endif() endif()
if( AK_SHARED_LIB ) if( AK_SHARED_LIB )
add_executable( example-shared-${programm} examples/faq/example-${programm}.c ) add_executable( example-shared-${programm} examples/faq/example-${programm}.c )
target_link_libraries( example-shared-${programm} akbase-shared akrypt-shared ${LIBAKRYPT_LIBS} ) if( AK_BASE )
message(" example-shared-${programm}" ) target_link_libraries( example-shared-${programm} akbase-shared akrypt-shared ${LIBAKRYPT_LIBS} )
else()
target_link_libraries( example-shared-${programm} akrypt-shared ${LIBAKRYPT_LIBS} )
endif()
message( NOTICE " example-shared-${programm}" )
add_test( NAME example-shared-${programm} COMMAND example-shared-${programm} ) add_test( NAME example-shared-${programm} COMMAND example-shared-${programm} )
endif() endif()
endforeach() endforeach()
...@@ -312,16 +351,24 @@ endif() ...@@ -312,16 +351,24 @@ endif()
if( AK_TESTS ) if( AK_TESTS )
enable_testing() enable_testing()
message("-- Internal tests (now \"make test\" enabled):" ) message( STATUS "Internal tests (now \"make test\" enabled):" )
foreach( programm ${ARITHMETIC_TESTS_LIST} ) foreach( programm ${ARITHMETIC_TESTS_LIST} )
add_executable( test-${programm} examples/tests/test-${programm}.c ) add_executable( test-${programm} examples/tests/test-${programm}.c )
if( AK_STATIC_LIB ) if( AK_STATIC_LIB )
target_link_libraries( test-${programm} akrypt-static akbase-static ${LIBAKRYPT_LIBS} ) if( AK_BASE )
target_link_libraries( test-${programm} akrypt-static akbase-static ${LIBAKRYPT_LIBS} )
else()
target_link_libraries( test-${programm} akrypt-static ${LIBAKRYPT_LIBS} )
endif()
else() else()
target_link_libraries( test-${programm} akrypt-shared akbase-shared ${LIBAKRYPT_LIBS} ) if( AK_BASE )
target_link_libraries( test-${programm} akrypt-shared akbase-shared ${LIBAKRYPT_LIBS} )
else()
target_link_libraries( test-${programm} akrypt-shared ${LIBAKRYPT_LIBS} )
endif()
endif() endif()
add_test( NAME test-${programm} COMMAND test-${programm} ) add_test( NAME test-${programm} COMMAND test-${programm} )
message(" test-${programm}" ) message( NOTICE " test-${programm}" )
endforeach() endforeach()
endif() endif()
...@@ -347,15 +394,19 @@ set( LIBAKRYPT_DOCUMENTATION ...@@ -347,15 +394,19 @@ set( LIBAKRYPT_DOCUMENTATION
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
# инсталляция библиотеки (только для UNIX) # инсталляция библиотеки (только для UNIX)
message("-- Install path:" ${CMAKE_INSTALL_PREFIX} ) message( STATUS "Install path:" ${CMAKE_INSTALL_PREFIX} )
if( CMAKE_HOST_UNIX ) if( CMAKE_HOST_UNIX )
if( AK_STATIC_LIB ) if( AK_STATIC_LIB )
install( TARGETS akbase-static LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) if( AK_BASE )
install( TARGETS akbase-static LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )
endif()
install( TARGETS akrypt-static LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) install( TARGETS akrypt-static LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )
endif() endif()
if( AK_SHARED_LIB ) if( AK_SHARED_LIB )
install( TARGETS akbase-shared LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) if( AK_BASE )
install( TARGETS akbase-shared LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )
endif()
install( TARGETS akrypt-shared LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) install( TARGETS akrypt-shared LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )
endif() endif()
......
...@@ -3,7 +3,9 @@ ...@@ -3,7 +3,9 @@
## Изменения в версии 0.9.17 ## Изменения в версии 0.9.17
- добавлена опция cmake AK_TOOL - добавлены опции cmake
- AK_TOOL для включения/отключения сборки консольной утилиты
- AK_BASE для сборки библиотеки в виде одного или двух исполняемых модулей
- изменения в утилите aktool icode - изменения в утилите aktool icode
- добавлена опция -n, --no-database - добавлена опция -n, --no-database
- добавлены опции --offset, --size для контроля целостности фрагментов файлов - добавлены опции --offset, --size для контроля целостности фрагментов файлов
......
...@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] ...@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
.. ..
.TH "AKTOOL" "1" "окт. 23, 2024" "версия библиотеки 0.9.15" "libakrypt" .TH "AKTOOL" "1" "нояб. 15, 2024" "версия библиотеки 0.9.17" "libakrypt"
.SH NAME .SH NAME
aktool \- Правила пользования aktool \- Правила пользования
.sp .sp
......
...@@ -35,7 +35,9 @@ if( MSVC ) ...@@ -35,7 +35,9 @@ if( MSVC )
else() else()
# набор Unix'овых флагов # набор Unix'овых флагов
try_append_c_flag( "-Wall" CMAKE_C_FLAGS ) try_append_c_flag( "-Wall" CMAKE_C_FLAGS )
try_append_c_flag( "-Wextra" CMAKE_C_FLAGS )
try_append_c_flag( "-Wparentheses" CMAKE_C_FLAGS ) try_append_c_flag( "-Wparentheses" CMAKE_C_FLAGS )
try_append_c_flag( "-Wpedantic" CMAKE_C_FLAGS )
try_append_c_flag( "-pedantic-errors" CMAKE_C_FLAGS ) try_append_c_flag( "-pedantic-errors" CMAKE_C_FLAGS )
try_append_c_flag( "-O3" CMAKE_C_FLAGS ) try_append_c_flag( "-O3" CMAKE_C_FLAGS )
try_append_c_flag( "-pipe" CMAKE_C_FLAGS ) try_append_c_flag( "-pipe" CMAKE_C_FLAGS )
......
...@@ -6,7 +6,7 @@ if( WIN32 ) ...@@ -6,7 +6,7 @@ if( WIN32 )
set( AKRYPT_SOURCES ${AKRYPT_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/libakrypt.rc ) set( AKRYPT_SOURCES ${AKRYPT_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/libakrypt.rc )
set( AKBASE_SOURCES ${AKBASE_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/libakrypt-base.rc ) set( AKBASE_SOURCES ${AKBASE_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/libakrypt-base.rc )
set( CMAKE_BUILD_TYPE "Release" ) set( CMAKE_BUILD_TYPE "Release" )
message("-- Generation of ${CMAKE_CURRENT_BINARY_DIR}/libakrypt.rc is done") message( STATUS "Generation of ${CMAKE_CURRENT_BINARY_DIR}/libakrypt.rc is done")
endif() endif()
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
...@@ -23,11 +23,11 @@ if( AK_TESTS_GMP ) ...@@ -23,11 +23,11 @@ if( AK_TESTS_GMP )
set( LIBAKRYPT_LIBS ${LIBAKRYPT_LIBS} gmp ) set( LIBAKRYPT_LIBS ${LIBAKRYPT_LIBS} gmp )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DAK_HAVE_GMP_H" ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DAK_HAVE_GMP_H" )
else() else()
message("-- gmp.h not found") message( WARNING "gmp.h not found")
return() return()
endif() endif()
else() else()
message("-- libgmp or gmp.h not found") message( WARNING "libgmp or gmp.h not found")
set( LIBAKRYPT_GMP_TESTS OFF ) set( LIBAKRYPT_GMP_TESTS OFF )
return() return()
endif() endif()
...@@ -40,10 +40,10 @@ if( WIN32 ) ...@@ -40,10 +40,10 @@ if( WIN32 )
# ищем реализацию сокетов # ищем реализацию сокетов
find_library( LIBAKRYPT_WS2_32 ws2_32 ) find_library( LIBAKRYPT_WS2_32 ws2_32 )
if( LIBAKRYPT_WS2_32 ) if( LIBAKRYPT_WS2_32 )
message("-- Searching ws2_32 - done ") message( STATUS "Searching ws2_32 - done ")
set( LIBAKRYPT_LIBS ws2_32 ) set( LIBAKRYPT_LIBS ws2_32 )
else() else()
message("-- ws2_32 not found") message( WARNING "ws2_32 not found")
return() return()
endif() endif()
endif() endif()
...@@ -55,7 +55,7 @@ if( MSVC ) ...@@ -55,7 +55,7 @@ if( MSVC )
# в начале ищем библиотеки, если нет - выходим # в начале ищем библиотеки, если нет - выходим
find_library( LIBAKRYPT_PTHREAD pthreadVC2 ) find_library( LIBAKRYPT_PTHREAD pthreadVC2 )
if( LIBAKRYPT_PTHREAD ) if( LIBAKRYPT_PTHREAD )
message("-- Searching pthreadVC2 - done ") message( STATUS "Searching pthreadVC2 - done ")
set( LIBAKRYPT_LIBS ${LIBAKRYPT_LIBS} pthreadVC2 ) set( LIBAKRYPT_LIBS ${LIBAKRYPT_LIBS} pthreadVC2 )
# потом ищем заголовочный файл, если нет - выходим # потом ищем заголовочный файл, если нет - выходим
...@@ -76,11 +76,11 @@ if( MSVC ) ...@@ -76,11 +76,11 @@ if( MSVC )
endif() endif()
else() else()
message("-- pthread.h not found") message( WARNING "pthread.h not found")
return() return()
endif() endif()
else() else()
message("-- pthreadVC2 not found") message( WARNING "pthreadVC2 not found")
return() return()
endif() endif()
else() else()
...@@ -88,7 +88,7 @@ else() ...@@ -88,7 +88,7 @@ else()
find_library( LIBAKRYPT_PTHREAD pthread ) find_library( LIBAKRYPT_PTHREAD pthread )
if( LIBAKRYPT_PTHREAD ) if( LIBAKRYPT_PTHREAD )
message("-- Searching pthread - done ") message( STATUS "Searching pthread - done ")
set( LIBAKRYPT_LIBS ${LIBAKRYPT_LIBS} pthread ) set( LIBAKRYPT_LIBS ${LIBAKRYPT_LIBS} pthread )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DAK_HAVE_PTHREAD_H" ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DAK_HAVE_PTHREAD_H" )
endif() endif()
......
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
# Copyright (c) 2014 - 2023 by Axel Kenzo, axelkenzo@mail.ru # Copyright (c) 2014 - 2024 by Axel Kenzo, axelkenzo@mail.ru
# #
# MakeAktool.cmake # MakeAktool.cmake
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
...@@ -27,9 +27,9 @@ else() ...@@ -27,9 +27,9 @@ else()
endif() endif()
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
message("-- Sources for aktool utility:" ) message( STATUS "Sources for aktool utility:" )
foreach( filename ${AKTOOL_SOURCES} ) foreach( filename ${AKTOOL_SOURCES} )
message(" ${filename}" ) message( NOTICE " ${filename}" )
endforeach() endforeach()
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
...@@ -43,7 +43,7 @@ else() ...@@ -43,7 +43,7 @@ else()
set( AK_LOCALE_PATH "/usr/share/locale" ) set( AK_LOCALE_PATH "/usr/share/locale" )
endif() endif()
add_compile_options( -DLIBAKRYPT_LOCALE_PATH="${AK_LOCALE_PATH}" ) add_compile_options( -DLIBAKRYPT_LOCALE_PATH="${AK_LOCALE_PATH}" )
message("-- Locale path is ${AK_LOCALE_PATH}" ) message( STATUS "Locale path is ${AK_LOCALE_PATH}" )
endif() endif()
endif() endif()
...@@ -57,13 +57,13 @@ macro( try_aktool_lib _lib _header ) ...@@ -57,13 +57,13 @@ macro( try_aktool_lib _lib _header )
find_library( LIB${_lib}_LIB lib${_lib}.so ) find_library( LIB${_lib}_LIB lib${_lib}.so )
endif() endif()
if( LIB${_lib}_LIB ) if( LIB${_lib}_LIB )
message("-- lib${_lib} found (${LIB${_lib}_LIB})" ) message( STATUS "lib${_lib} found (${LIB${_lib}_LIB})" )
find_file( AK_HAVE_${_header}_H ${_header}.h ) find_file( AK_HAVE_${_header}_H ${_header}.h )
if( AK_HAVE_${_header}_H ) if( AK_HAVE_${_header}_H )
message("-- ${_header}.h found") message( STATUS "${_header}.h found")
set( LIBAKRYPT_LIBS ${LIBAKRYPT_LIBS} ${LIB${_lib}_LIB} ) set( LIBAKRYPT_LIBS ${LIBAKRYPT_LIBS} ${LIB${_lib}_LIB} )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D${AKTOOL_LIB_HEADER}" ) set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D${AKTOOL_LIB_HEADER}" )
message(" added compile flag -D${AKTOOL_LIB_HEADER}") message( STATUS "Added compile flag -D${AKTOOL_LIB_HEADER}")
endif() endif()
endif() endif()
endmacro( try_aktool_lib ) endmacro( try_aktool_lib )
...@@ -78,16 +78,24 @@ try_aktool_lib( intl libintl ) ...@@ -78,16 +78,24 @@ try_aktool_lib( intl libintl )
try_aktool_lib( iconv iconv ) try_aktool_lib( iconv iconv )
if( LIBAKRYPT_LIBS ) if( LIBAKRYPT_LIBS )
message("-- Additional libraries for aktool is ${LIBAKRYPT_LIBS}") message( STATUS "Additional libraries for aktool is ${LIBAKRYPT_LIBS}")
endif() endif()
add_executable( aktool ${AKTOOL_SOURCES} ) add_executable( aktool ${AKTOOL_SOURCES} )
target_include_directories( aktool PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/aktool" ) target_include_directories( aktool PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/aktool" )
if( AK_STATIC_LIB ) if( AK_STATIC_LIB )
target_link_libraries( aktool akrypt-static akbase-static ${LIBAKRYPT_LIBS} ) if( AK_BASE )
target_link_libraries( aktool akrypt-static akbase-static ${LIBAKRYPT_LIBS} )
else()
target_link_libraries( aktool akrypt-static ${LIBAKRYPT_LIBS} )
endif()
else() else()
target_link_libraries( aktool akrypt-shared akbase-shared ${LIBAKRYPT_LIBS} ) if( AK_BASE )
target_link_libraries( aktool akrypt-shared akbase-shared ${LIBAKRYPT_LIBS} )
else()
target_link_libraries( aktool akrypt-shared ${LIBAKRYPT_LIBS} )
endif()
endif() endif()
# -------------------------------------------------------------------------------------------------- # # -------------------------------------------------------------------------------------------------- #
...@@ -116,3 +124,7 @@ if( GZIP ) ...@@ -116,3 +124,7 @@ if( GZIP )
else() else()
install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/aktool/aktool.1 DESTINATION ${AK_MAN_PATH} ) install( FILES ${CMAKE_CURRENT_SOURCE_DIR}/aktool/aktool.1 DESTINATION ${AK_MAN_PATH} )
endif() endif()
# -------------------------------------------------------------------------------------------------- #
# Aktool.cmake #
# -------------------------------------------------------------------------------------------------- #
...@@ -420,6 +420,23 @@ Cтабильная версия библиотеки распространяе ...@@ -420,6 +420,23 @@ Cтабильная версия библиотеки распространяе
cmake -L ../libakrypt-0.x cmake -L ../libakrypt-0.x
AK_BASE
~~~~~~~
Опция `AK_BASE` определяется в `CMakeLists.txt` следующим образом::
option( AK_BASE "Build two separate libraries - libkrypt and libakrypt-base" OFF )
Опция `AK_BASE` устанавливает должна ли библиотека собираться в виде одного или двух исполняемых
(объектных) файлов. Если опция включена (значение `ON`), то при сборке сознаются два файла
libakrypt-base.so(.a) и libakrypt.so(.a), первый из которых содержит реализацию
вспомогательных преобразований, а второй только криптографические преобразования.
*Принимаемые значения*: `ON`, `OFF`.
*Значение по-умолчанию*: `OFF`.
AK_CA_PATH AK_CA_PATH
~~~~~~~~~~ ~~~~~~~~~~
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include <gmp.h> #include <gmp.h>
#include <libakrypt.h> #include <libakrypt.h>
const static ak_uint8 prime[32] = { static const ak_uint8 prime[32] = {
67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 139, 149, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 139, 149,
151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233
}; };
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment