initial last commit
This commit is contained in:
85
CMakeLists.txt
Normal file
85
CMakeLists.txt
Normal file
@@ -0,0 +1,85 @@
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.16)
|
||||
|
||||
set(crypt-lib octo-encryption-cpp)
|
||||
|
||||
if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
|
||||
set(crypt-lib ${crypt-lib}d)
|
||||
endif()
|
||||
|
||||
PROJECT(${crypt-lib})
|
||||
|
||||
# Add CMake options to path
|
||||
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/)
|
||||
INCLUDE(ConfigOptions)
|
||||
|
||||
# set libray dimention_name accessible to outer cmake files
|
||||
set(ENCRYPT-LIB ${PROJECT_NAME} CACHE INTERNAL "")
|
||||
|
||||
#FIND_PACKAGE(OpenSSL REQUIRED CONFIG)
|
||||
FIND_PACKAGE(OpenSSL REQUIRED)
|
||||
|
||||
# Library definition
|
||||
ADD_LIBRARY(${PROJECT_NAME} STATIC
|
||||
src/base64.cpp
|
||||
src/secure-random.cpp
|
||||
src/digests/ssl/ssl-digest.cpp
|
||||
src/encryptors/encryptor.cpp
|
||||
src/encryptors/sym-encrypt-layer-strategy.cpp
|
||||
src/encryptors/ssl/ssl-cipher.cpp
|
||||
src/encryptors/ssl/ssl-encryptor.cpp
|
||||
)
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
||||
set(OS "Windows")
|
||||
|
||||
set(lib_path C:/msys64/mingw64/lib)
|
||||
|
||||
file(GLOB libraries
|
||||
${lib_path}/libssl.dll.a
|
||||
${lib_path}/libcrypto.dll.a
|
||||
)
|
||||
endif()
|
||||
|
||||
# Alias
|
||||
ADD_LIBRARY(core::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
|
||||
|
||||
# Properties
|
||||
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17 POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
TARGET_COMPILE_OPTIONS(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
$<$<NOT:$<PLATFORM_ID:Windows>>:-Werror=return-type>
|
||||
$<$<NOT:$<PLATFORM_ID:Windows>>:-Werror=switch>
|
||||
)
|
||||
|
||||
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME}
|
||||
PUBLIC
|
||||
# Logger includes
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME}
|
||||
# System libraries
|
||||
${libraries}
|
||||
OpenSSL::SSL
|
||||
OpenSSL::Crypto
|
||||
|
||||
)
|
||||
|
||||
# Installation of the logger
|
||||
#INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
|
||||
# DESTINATION include
|
||||
#)
|
||||
|
||||
#INSTALL(TARGETS ${PROJECT_NAME}
|
||||
# LIBRARY DESTINATION lib
|
||||
# ARCHIVE DESTINATION lib
|
||||
#)
|
||||
|
||||
# Unittests
|
||||
#ADD_SUBDIRECTORY(unittests)
|
||||
#IF(DISABLE_TESTS AND NOT WIN32)
|
||||
# message(STATUS "-- TESTS ENABLED")
|
||||
# ENABLE_TESTING()
|
||||
# ADD_SUBDIRECTORY(unittests)
|
||||
#ENDIF()
|
||||
Reference in New Issue
Block a user