mp.cmake /size: 1194 b    last modification: 2024-01-16 10:22
1set(mp_sources
2
3    source/mp/mpc/mp.c
4    source/mp/mpc/mpstrings.c
5    source/mp/mpc/mpmath.c
6    source/mp/mpc/mpmathdouble.c
7    source/mp/mpc/mpmathbinary.c
8    source/mp/mpc/mpmathdecimal.c
9    source/mp/mpc/mpmathposit.c
10
11    source/libraries/decnumber/decContext.c
12    source/libraries/decnumber/decNumber.c
13
14    source/libraries/avl/avl.c
15
16    source/lua/lmtmplib.c
17
18    source/luarest/lmtxdecimallib.c
19
20)
21
22add_library(mp STATIC ${mp_sources})
23
24target_include_directories(mp PRIVATE
25    .
26    source/.
27    source/mp/mpc
28    source/luacore/lua54/src
29    source/libraries/avl
30    source/libraries/decnumber
31    source/utilities
32    source/libraries/mimalloc/include
33    source/libraries/softposit/source/include
34)
35
36target_compile_definitions(mp PUBLIC
37    DECUSE64=1
38  # DECCHECK=1
39  # DECBUFFER=512
40    DECNUMDIGITS=1000
41)
42
43if (CMAKE_C_COMPILER_ID STREQUAL "Clang")
44    target_compile_options(mp PRIVATE
45        -Wno-unreachable-code-break
46    )
47endif()
48
49if (NOT MSVC)
50    target_compile_options(mp PRIVATE
51        -Wno-unused-parameter
52        -Wno-sign-compare
53        -Wno-cast-qual
54        -Wno-cast-align
55        # for decnumber with lto
56        -fno-strict-aliasing
57    )
58endif()
59