2016-02-11 12:04:49 +01:00
|
|
|
project (cpp-utils)
|
|
|
|
|
|
|
|
set(SOURCES
|
|
|
|
crypto/symmetric/ciphers.cpp
|
2017-12-01 16:01:49 +01:00
|
|
|
crypto/symmetric/testutils/FakeAuthenticatedCipher.cpp
|
2016-02-11 12:04:49 +01:00
|
|
|
crypto/kdf/Scrypt.cpp
|
2016-02-22 02:38:06 +01:00
|
|
|
crypto/kdf/SCryptParameters.cpp
|
|
|
|
crypto/kdf/PasswordBasedKDF.cpp
|
2016-02-11 12:04:49 +01:00
|
|
|
crypto/RandomPadding.cpp
|
2017-09-05 01:43:43 +02:00
|
|
|
crypto/symmetric/EncryptionKey.cpp
|
2017-09-30 09:49:24 +02:00
|
|
|
crypto/hash/Hash.cpp
|
2016-02-11 12:04:49 +01:00
|
|
|
process/daemonize.cpp
|
|
|
|
process/subprocess.cpp
|
2019-01-22 04:23:48 +01:00
|
|
|
process/SignalCatcher.cpp
|
2019-03-17 09:08:57 +01:00
|
|
|
process/SignalHandler.cpp
|
2016-02-11 12:04:49 +01:00
|
|
|
tempfile/TempFile.cpp
|
|
|
|
tempfile/TempDir.cpp
|
|
|
|
network/HttpClient.cpp
|
|
|
|
network/FakeHttpClient.cpp
|
|
|
|
io/Console.cpp
|
2016-09-24 20:28:56 +02:00
|
|
|
io/DontEchoStdinToStdoutRAII.cpp
|
|
|
|
io/NoninteractiveConsole.cpp
|
2016-02-11 12:04:49 +01:00
|
|
|
io/pipestream.cpp
|
|
|
|
thread/LoopThread.cpp
|
|
|
|
thread/ThreadSystem.cpp
|
2019-01-20 12:21:20 +01:00
|
|
|
thread/debugging_nonwindows.cpp
|
|
|
|
thread/debugging_windows.cpp
|
2019-01-22 04:23:48 +01:00
|
|
|
thread/LeftRight.cpp
|
2016-02-11 12:04:49 +01:00
|
|
|
random/Random.cpp
|
|
|
|
random/RandomGeneratorThread.cpp
|
|
|
|
random/OSRandomGenerator.cpp
|
|
|
|
random/PseudoRandomPool.cpp
|
|
|
|
random/RandomDataBuffer.cpp
|
|
|
|
random/RandomGenerator.cpp
|
|
|
|
lock/LockPool.cpp
|
2017-12-03 20:01:41 +01:00
|
|
|
data/SerializationHelper.cpp
|
2016-02-11 12:04:49 +01:00
|
|
|
data/Serializer.cpp
|
|
|
|
data/Deserializer.cpp
|
|
|
|
data/DataFixture.cpp
|
|
|
|
data/DataUtils.cpp
|
|
|
|
data/Data.cpp
|
2019-10-13 08:01:57 +02:00
|
|
|
assert/assert.cpp
|
2018-05-17 04:47:51 +02:00
|
|
|
assert/backtrace_nonwindows.cpp
|
|
|
|
assert/backtrace_windows.cpp
|
2016-02-11 12:04:49 +01:00
|
|
|
assert/AssertFailed.cpp
|
2016-02-17 00:24:40 +01:00
|
|
|
system/get_total_memory.cpp
|
2016-06-22 01:29:56 +02:00
|
|
|
system/homedir.cpp
|
2018-05-17 06:48:27 +02:00
|
|
|
system/memory_nonwindows.cpp
|
|
|
|
system/memory_windows.cpp
|
2018-05-17 07:18:45 +02:00
|
|
|
system/time.cpp
|
2018-05-21 09:02:26 +02:00
|
|
|
system/diskspace.cpp
|
2018-09-03 18:23:11 +02:00
|
|
|
system/filetime_nonwindows.cpp
|
|
|
|
system/filetime_windows.cpp
|
2018-09-04 00:46:08 +02:00
|
|
|
system/env.cpp
|
2018-05-22 08:11:51 +02:00
|
|
|
value_type/ValueType.cpp
|
2016-02-11 12:04:49 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
add_library(${PROJECT_NAME} STATIC ${SOURCES})
|
|
|
|
|
2019-02-28 08:34:49 +01:00
|
|
|
if(MSVC)
|
|
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC DbgHelp)
|
2019-04-02 04:18:49 +02:00
|
|
|
elseif (APPLE)
|
|
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE BOOST_STACKTRACE_GNU_SOURCE_NOT_REQUIRED)
|
|
|
|
else()
|
|
|
|
find_program(ADDR2LINE addr2line)
|
|
|
|
if ("${ADDR2LINE}" STREQUAL "ADDR2LINE-NOTFOUND")
|
|
|
|
message(WARNING "addr2line not found. Backtraces will be reduced.")
|
|
|
|
else()
|
|
|
|
message(STATUS "addr2line found. Using it for backtraces.")
|
|
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE BOOST_STACKTRACE_USE_ADDR2LINE)
|
|
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE BOOST_STACKTRACE_ADDR2LINE_LOCATION=${ADDR2LINE})
|
|
|
|
endif()
|
2018-06-09 08:18:10 +02:00
|
|
|
endif()
|
2018-05-19 16:21:52 +02:00
|
|
|
|
2018-09-17 08:37:30 +02:00
|
|
|
|
2018-05-19 07:29:41 +02:00
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC ${CMAKE_THREAD_LIBS_INIT})
|
|
|
|
|
|
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC ${CMAKE_DL_LIBS})
|
2016-02-11 12:04:49 +01:00
|
|
|
|
2022-06-18 21:11:24 +02:00
|
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC cryptopp boost spdlog)
|
2016-02-11 12:04:49 +01:00
|
|
|
|
2021-04-18 09:49:26 +02:00
|
|
|
target_add_boost(${PROJECT_NAME})
|
2016-02-11 12:57:50 +01:00
|
|
|
target_enable_style_warnings(${PROJECT_NAME})
|
|
|
|
target_activate_cpp14(${PROJECT_NAME})
|
2019-11-01 07:50:55 +01:00
|
|
|
|
|
|
|
if(MSVC)
|
|
|
|
# Required by range-v3, see its README.md
|
|
|
|
target_compile_options(${PROJECT_NAME} PUBLIC /experimental:preprocessor /permissive- /Zc:twoPhase-)
|
|
|
|
endif()
|