foundationdb/flow/CMakeLists.txt

110 lines
2.4 KiB
CMake
Raw Normal View History

2018-05-03 00:55:29 +08:00
find_package(Threads REQUIRED)
set(FLOW_SRCS
ActorCollection.actor.cpp
ActorCollection.h
Arena.h
AsioReactor.h
CompressedInt.actor.cpp
CompressedInt.h
Deque.cpp
Deque.h
DeterministicRandom.cpp
2018-05-03 00:55:29 +08:00
DeterministicRandom.h
Error.cpp
Error.h
EventTypes.actor.h
FastAlloc.cpp
FastAlloc.h
FastRef.h
FaultInjection.cpp
FaultInjection.h
2018-12-14 07:52:27 +08:00
FileTraceLogWriter.cpp
FileTraceLogWriter.h
2018-05-03 00:55:29 +08:00
Hash3.c
Hash3.h
IDispatched.h
IRandom.h
IThreadPool.cpp
IThreadPool.h
IndexedSet.actor.h
IndexedSet.cpp
IndexedSet.h
JsonTraceLogFormatter.cpp
JsonTraceLogFormatter.h
2018-05-03 00:55:29 +08:00
Knobs.cpp
Knobs.h
MetricSample.h
Net2.actor.cpp
Net2Packet.cpp
Net2Packet.h
Platform.cpp
Platform.h
Profiler.actor.cpp
Profiler.h
SignalSafeUnwind.cpp
SignalSafeUnwind.h
SimpleOpt.h
Stats.actor.cpp
Stats.h
SystemMonitor.cpp
SystemMonitor.h
TDMetric.actor.h
TDMetric.cpp
ThreadHelper.actor.h
ThreadHelper.cpp
ThreadPrimitives.cpp
ThreadPrimitives.h
ThreadSafeQueue.h
Trace.cpp
Trace.h
TLSPolicy.h
TLSPolicy.cpp
2018-05-03 00:55:29 +08:00
UnitTest.cpp
UnitTest.h
2018-12-14 07:52:27 +08:00
XmlTraceLogFormatter.h
XmlTraceLogFormatter.cpp
2018-05-03 00:55:29 +08:00
actorcompiler.h
error_definitions.h
flat_buffers.h
flat_buffers.cpp
2018-05-03 00:55:29 +08:00
flow.cpp
flow.h
genericactors.actor.cpp
genericactors.actor.h
network.cpp
network.h
serialize.h
serialize.cpp
2018-05-03 00:55:29 +08:00
stacktrace.amalgamation.cpp
2018-05-04 06:48:10 +08:00
stacktrace.h
version.cpp)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/hgVersion.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/hgVersion.h)
2018-05-03 00:55:29 +08:00
add_flow_target(STATIC_LIBRARY NAME flow SRCS ${FLOW_SRCS})
2018-05-03 02:25:38 +08:00
target_include_directories(flow SYSTEM PUBLIC ${CMAKE_THREAD_LIBS_INIT})
target_include_directories(flow PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
2019-02-07 11:27:38 +08:00
if (NOT APPLE AND NOT WIN32)
2018-05-03 00:55:29 +08:00
set (FLOW_LIBS ${FLOW_LIBS} rt)
2019-02-07 11:27:38 +08:00
elseif(WIN32)
target_link_libraries(flow PUBLIC winmm.lib)
target_link_libraries(flow PUBLIC psapi.lib)
2018-05-03 00:55:29 +08:00
endif()
target_link_libraries(flow PRIVATE ${FLOW_LIBS})
2018-05-06 03:08:39 +08:00
target_link_libraries(flow PUBLIC boost_target Threads::Threads ${CMAKE_DL_LIBS})
2019-06-11 06:30:57 +08:00
if(USE_VALGRIND)
target_link_libraries(flow PUBLIC Valgrind)
endif()
2019-02-06 14:20:44 +08:00
if(NOT WITH_TLS)
target_compile_definitions(flow PUBLIC TLS_DISABLED)
else()
2020-02-14 06:42:45 +08:00
target_link_libraries(flow PUBLIC OpenSSL::SSL)
2019-02-06 14:20:44 +08:00
endif()
2018-05-04 06:48:10 +08:00
if(APPLE)
find_library(IO_KIT IOKit)
find_library(CORE_FOUNDATION CoreFoundation)
target_link_libraries(flow PRIVATE ${IO_KIT} ${CORE_FOUNDATION})
endif()