cmake_minimum_required(VERSION 3.10) project(NBCore VERSION 0.1) toAbsolutePath(NB_CORE_SOURCE ./src/ErrorsImpl.cpp ./src/Logger.cpp ./src/Processes.cpp ./src/StringUtils.cpp ./src/Utils.cpp ) toAbsolutePath(NB_CORE_INCLUDE ./include/NBCore/ANSITerm.hpp ./include/NBCore/DataSink.hpp ./include/NBCore/Errors.hpp ./include/NBCore/ErrorsImpl.hpp ./include/NBCore/Logger.hpp ./include/NBCore/Processes.hpp ./include/NBCore/StringUtils.hpp ./include/NBCore/ThreadsafeQueue.hpp ./include/NBCore/Types.hpp ./include/NBCore/TypeTraits.hpp ./include/NBCore/Utils.hpp ) set(NB_CORE_SOURCE ${NB_CORE_SOURCE} PARENT_SCOPE) set(NB_CORE_INCLUDE ${NB_CORE_INCLUDE} PARENT_SCOPE) add_library(NBCore ${NB_CORE_SOURCE}) add_library(NBEngine::Core ALIAS NBCore) target_include_directories(NBCore PUBLIC "$" PUBLIC "$" ) if (NBENGINE_INSTALL) message("Installing NBCore to ${CMAKE_INSTALL_PREFIX}") include(GNUInstallDirs) include(CMakePackageConfigHelpers) install( TARGETS NBCore EXPORT NBCoreTargets ) install( DIRECTORY "${PROJECT_SOURCE_DIR}/include/NBCore" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp" ) install( EXPORT NBCoreTargets DESTINATION ${CMAKE_INSTALL_PREFIX}/cmake NAMESPACE NBEngine:: ) configure_package_config_file( "NBCoreConfig.cmake.in" "NBCoreConfig.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_PREFIX}/cmake PATH_VARS CMAKE_INSTALL_LIBDIR ) write_basic_package_version_file( "${CMAKE_CURRENT_BINARY_DIR}/NBCoreConfigVersion.cmake" COMPATIBILITY AnyNewerVersion ) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/NBCoreConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/NBCoreConfigVersion.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}/cmake" ) endif() if (NB_BUILD_TESTS) add_subdirectory(./tests) endif()