]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/arb/CMakeLists.txt
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / arb / CMakeLists.txt
CommitLineData
1e59de90
TL
1cmake_minimum_required(VERSION 2.8.12)
2
3project(arb C)
4
5set (DEPS mpir mpfr pthreads flint2 gettimeofday)
6set (mpir_lib gmp mpir)
7set (mpfr_lib mpfr)
8set (pthreads_lib pthreads pthread pthreadVC2 pthreadVC3)
9set (flint2_lib ${LIBRARY_TYPE}_flint flint)
10set (gettimeofday_lib gettimeofday)
11
12set (mpir_header gmp.h)
13set (mpfr_header mpfr.h)
14set (pthreads_header pthread.h)
15set (flint2_header flint/flint.h)
16set (gettimeofday_header gettimeofday.h)
17
18foreach (LIB ${DEPS})
19 string (TOUPPER ${LIB} LIB_UPPER)
20 find_library(${LIB_UPPER}_LIBRARY NAMES ${${LIB}_lib})
21 if (NOT ${LIB_UPPER}_LIBRARY)
22 message(FATAL_ERROR "${LIB} library not found.")
23 endif()
24 add_library(${LIB} UNKNOWN IMPORTED)
25 set_property(TARGET ${LIB} PROPERTY IMPORTED_LOCATION ${${LIB_UPPER}_LIBRARY})
26 message("${LIB} found in ${${LIB_UPPER}_LIBRARY}")
27endforeach ()
28
29foreach (LIB ${DEPS})
30 string(TOUPPER ${LIB} HEADER_PKG)
31 set (HEADER ${${LIB}_header})
32 find_path(${HEADER_PKG}_INCLUDE_DIR NAMES ${HEADER})
33 if (NOT ${HEADER_PKG}_INCLUDE_DIR)
34 message(FATAL_ERROR "${HEADER} header not found.")
35 endif()
36 message("${HEADER} found in ${${HEADER_PKG}_INCLUDE_DIR}")
37 set (DEP_INCLUDE_DIRS ${DEP_INCLUDE_DIRS} ${${HEADER_PKG}_INCLUDE_DIR})
38endforeach ()
39
40file(GLOB TEMP "*.h")
41
42foreach (TEMP_H ${TEMP})
43 get_filename_component(FOLDER ${TEMP_H} NAME_WE)
44 set(FOLDERS ${FOLDERS} ${FOLDER})
45endforeach()
46
47foreach (FOLDER ${FOLDERS})
48 file(GLOB TEMP "${FOLDER}/*.c")
49 set(SRC ${SRC} ${TEMP})
50endforeach ()
51
52include_directories(BEFORE ${arb_SOURCE_DIR})
53include_directories(BEFORE ${DEP_INCLUDE_DIRS})
54
55add_library(arb ${SRC})
56
57target_compile_definitions(arb PRIVATE HAVE_TLS=1 FLINT_REENTRANT=0)
58target_compile_definitions(arb PRIVATE PTW32_STATIC_LIB)
59MESSAGE( STATUS "Building static libraries" )
60target_compile_definitions(arb PRIVATE "ARB_BUILD_DLL")
61
62target_link_libraries(arb ${DEPS})
63
64install(TARGETS arb
65 RUNTIME DESTINATION bin
66 ARCHIVE DESTINATION lib
67 LIBRARY DESTINATION lib
68 )
69
70foreach (FOLDER ${FOLDERS})
71 set(HEADERS ${HEADERS} ${FOLDER}.h)
72endforeach ()
73
74install(FILES ${HEADERS} DESTINATION include)
75
76if (BUILD_TESTS)
77 enable_testing()
78 foreach (FOLDER ${FOLDERS})
79 file(GLOB TEMP "${FOLDER}/test/*.c")
80 foreach (TEST_SOURCE ${TEMP})
81 get_filename_component(TEST_NAME ${TEST_SOURCE} NAME_WE)
82 add_executable(${FOLDER}-${TEST_NAME} ${TEST_SOURCE})
83 target_link_libraries(${FOLDER}-${TEST_NAME} arb)
84 add_test(${FOLDER}-${TEST_NAME} ${FOLDER}-${TEST_NAME})
85 endforeach ()
86 endforeach ()
87endif ()