2020-09-05 09:59:21 +08:00
|
|
|
cmake_minimum_required(VERSION 3.14.0)
|
|
|
|
project(bigint CXX)
|
2017-09-03 23:50:17 +08:00
|
|
|
|
|
|
|
if(MSVC)
|
2020-09-05 09:59:21 +08:00
|
|
|
add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS)
|
2017-09-03 23:50:17 +08:00
|
|
|
endif()
|
|
|
|
|
2020-09-05 09:59:21 +08:00
|
|
|
set(BIGINT_SRCS
|
2017-09-03 23:50:17 +08:00
|
|
|
BigUnsigned.cc
|
|
|
|
BigInteger.cc
|
|
|
|
BigIntegerAlgorithms.cc
|
|
|
|
BigUnsignedInABase.cc
|
2018-04-26 09:27:26 +08:00
|
|
|
BigIntegerUtils.cc
|
2017-09-03 23:50:17 +08:00
|
|
|
)
|
|
|
|
|
2020-09-05 09:59:21 +08:00
|
|
|
set(BIGINT_HH
|
2017-09-03 23:50:17 +08:00
|
|
|
NumberlikeArray.hh
|
|
|
|
BigUnsigned.hh
|
|
|
|
BigInteger.hh
|
|
|
|
BigIntegerAlgorithms.hh
|
|
|
|
BigUnsignedInABase.hh
|
|
|
|
BigIntegerLibrary.hh
|
2018-04-26 09:27:26 +08:00
|
|
|
BigIntegerUtils.hh
|
2017-09-03 23:50:17 +08:00
|
|
|
)
|
|
|
|
|
2020-09-05 09:59:21 +08:00
|
|
|
add_library(bigint ${BIGINT_SRCS})
|
|
|
|
target_include_directories(bigint PUBLIC $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
|
|
|
|
|
|
|
|
install(
|
|
|
|
TARGETS bigint
|
|
|
|
EXPORT bigint-config
|
|
|
|
)
|
2017-09-03 23:50:17 +08:00
|
|
|
|
|
|
|
install(
|
2020-09-05 09:59:21 +08:00
|
|
|
EXPORT bigint-config
|
|
|
|
NAMESPACE bigint::
|
|
|
|
DESTINATION share/bigint
|
2017-09-03 23:50:17 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
if(NOT DISABLE_INSTALL_HEADERS)
|
2020-09-05 09:59:21 +08:00
|
|
|
install(FILES ${BIGINT_HH} DESTINATION include/bigint)
|
2017-09-03 23:50:17 +08:00
|
|
|
endif()
|