cmake_minimum_required(VERSION 3.23) message( STATUS ) message( STATUS "=============================================================================" ) message( STATUS "== JKQTPlotterLib Build Information ==" ) message( STATUS "=============================================================================" ) message( STATUS "Version: ${PROJECT_VERSION}") message( STATUS "CMake Generator: ${CMAKE_GENERATOR}") if (${JKQtPlotter_isMultiConfigGenerator}) message( STATUS " is multi-config: YES") else() message( STATUS " is multi-config: NO") endif() message( STATUS "Build type: ${CMAKE_BUILD_TYPE}") message( STATUS "Build types: ${CMAKE_CONFIGURATION_TYPES}") message( STATUS "Build shared lib: ${BUILD_SHARED_LIBS}") message( STATUS "Using CMake: ${CMAKE_VERSION}") message( STATUS "Using CMake Generator: ${CMAKE_GENERATOR}") message( STATUS "Using compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}, platform: ${CMAKE_CXX_PLATFORM_ID}" ) message( STATUS "C++ Standard: C++ ${JKQtPlotter_QT_CXX_STANDARD}, required: ${JKQtPlotter_QT_CXX_STANDARD_REQUIRED}" ) message( STATUS "LIB-Architecture: CXX: ${CMAKE_CXX_LIBRARY_ARCHITECTURE} / BASE: ${CMAKE_LIBRARY_ARCHITECTURE}" ) message( STATUS "bit depth: ${JKQtPlotter_BIT_DEPTH} bit" ) message( STATUS "System Name: ${CMAKE_SYSTEM_NAME}" ) message( STATUS "Processor Name: ${CMAKE_SYSTEM_PROCESSOR}" ) message( STATUS "Using Qt: ${QT_VERSION}" ) message( STATUS " [at ${QT_DIR}]" ) if(JKQtPlotter_BUILD_INCLUDE_XITS_FONTS) message( STATUS "XITS fonts: LINKED IN" ) else() message( STATUS "XITS fonts: NOT AVAILABLE IN LIB" ) endif(JKQtPlotter_BUILD_INCLUDE_XITS_FONTS) if(JKQtPlotter_BUILD_INCLUDE_FIRAMATH_FONTS) message( STATUS "FIRA fonts: LINKED IN" ) else() message( STATUS "FIRA fonts: NOT AVAILABLE IN LIB" ) endif(JKQtPlotter_BUILD_INCLUDE_FIRAMATH_FONTS) if(${JKQtPlotter_HAS_NO_PRINTER_SUPPORT}) message( STATUS "Print support: OFF" ) else() message( STATUS "Print support: ON" ) endif() if(${JKQtPlotter_BUILD_WITH_TIMING_INFO_OUTPUT}) message( STATUS "Timing Info output: OFF" ) else() message( STATUS "Timing Info output: ON" ) endif() if (JKQtPlotter_BUILD_WITH_PRECOMPILED_HEADERS) message( STATUS "Precompiled Header: ON" ) else() message( STATUS "Precompiled Header: OFF") endif() if (JKQtPlotter_BUILD_LIB_JKQTMATH) message( STATUS "build JKQTMath: ON" ) else() message( STATUS "build JKQTMath: OFF") endif() if (JKQtPlotter_BUILD_LIB_JKQTMATHTEXT) message( STATUS "build JKQTMathText: ON" ) else() message( STATUS "build JKQTMathText: OFF") endif() if (JKQtPlotter_BUILD_LIB_JKQTFASTPLOTTER) message( STATUS "build JKQTFastPlotter: ON" ) else() message( STATUS "build JKQTFastPlotter: OFF") endif() if (JKQtPlotter_BUILD_LIB_JKQTPLOTTER) message( STATUS "build JKQTPlotter: ON" ) else() message( STATUS "build JKQTPlotter: OFF") endif() message( STATUS "Installing to: ${CMAKE_INSTALL_PREFIX}" ) message( STATUS "=============================================================================" ) message( STATUS ) message( STATUS ) message( STATUS "............................................................................." ) message( STATUS ".. BUILDING LIBRARIES" ) message( STATUS "............................................................................." ) set(JKQTPLOTTER_VERSION_FILE_DIR ${CMAKE_CURRENT_BINARY_DIR}) set(JKQTPLOTTER_VERSION_FILE ${JKQTPLOTTER_VERSION_FILE_DIR}/jkqtplotter_version.h) configure_file(${CMAKE_CURRENT_LIST_DIR}/jkqtplotter_version.h.in ${JKQTPLOTTER_VERSION_FILE}) include_directories(.) # this library is the base for ALL other libraries, so it is always built! add_subdirectory(jkqtcommon) # all other libraries are built only, when activated by CMake options if (JKQtPlotter_BUILD_LIB_JKQTMATH) add_subdirectory(jkqtmath) endif() if (JKQtPlotter_BUILD_LIB_JKQTMATHTEXT) add_subdirectory(jkqtmathtext) endif() if (JKQtPlotter_BUILD_LIB_JKQTFASTPLOTTER) add_subdirectory(jkqtfastplotter) endif() if (JKQtPlotter_BUILD_LIB_JKQTPLOTTER) add_subdirectory(jkqtplotter) endif()