1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
# The CMake version we require (must be first)
cmake_minimum_required(VERSION 3.0.2)
project(alkimia VERSION 7.0.2)
find_package(ECM 0.0.11 REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
include(FeatureSummary)
# check for PkgConfig, Qt and MPIR/GMP
find_package(PkgConfig)
if(BUILD_QT4)
find_package(Qt4 REQUIRED COMPONENTS QtCore QtDBus QtTest)
set(QT_USE_LIBSPREFIX Qt4::Qt)
set(ALKIMIA_LIB_SUFFIX "")
set(ALKIMIA_INCLUDE_SUFFIX "Qt4")
set(ALKIMIA_PATH_SUFFIX)
set(PC_TARGET_QTPREFIX Qt)
set(PC_TARGET_SUFFIX)
else()
find_package(Qt5 REQUIRED COMPONENTS Core DBus Test)
set(QT_USE_LIBSPREFIX Qt5::)
set(ALKIMIA_LIB_SUFFIX "5")
set(ALKIMIA_INCLUDE_SUFFIX "Qt5")
set(ALKIMIA_PATH_SUFFIX 5)
set(PC_TARGET_QTPREFIX Qt5)
set(PC_TARGET_SUFFIX 5)
endif()
# figure out which multi-precision library to use
# MPIR is preferred over GMP
find_package(MPIR)
if(MPIR_FOUND)
set(MP_INCLUDE_DIR ${MPIR_INCLUDE_DIR})
set(MP_LIBRARIES ${MPIR_LIBRARIES})
set(MP_HEADER mpirxx.h)
set(MP_CMAKE_MODULE "MPIR")
set(PC_LIB mpir)
else()
find_package(GMP REQUIRED)
set(MP_INCLUDE_DIR ${GMP_INCLUDE_DIR})
set(MP_LIBRARIES ${GMP_LIBRARIES})
set(MP_HEADER gmpxx.h)
set(MP_CMAKE_MODULE "GMP")
set(PC_LIB gmp)
endif()
# check for Doxygen (for API documentation)
find_package(Doxygen)
feature_summary(WHAT ALL)
add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
include_directories(${MP_INCLUDE_DIR})
add_subdirectory(src)
add_subdirectory(autotests)
|