diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2017-09-17 16:50:17 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2017-09-18 00:40:16 +0200 |
commit | 0b43271f3bcb2644c7537c4becff6d50524b7462 (patch) | |
tree | e483a039a64883e08696b9713c955d68affa503a /dev-libs/spdlog | |
parent | games-action/supermariowar: reformat variables. (diff) | |
download | gentoo-0b43271f3bcb2644c7537c4becff6d50524b7462.tar.gz gentoo-0b43271f3bcb2644c7537c4becff6d50524b7462.tar.bz2 gentoo-0b43271f3bcb2644c7537c4becff6d50524b7462.zip |
dev-libs/spdlog: Use GNUInstalldirs, fix cmake files location
Fix indentation also.
Package-Manager: Portage-2.3.8, Repoman-2.3.3
Diffstat (limited to 'dev-libs/spdlog')
-rw-r--r-- | dev-libs/spdlog/files/spdlog-0.14.0-CMakeLists.txt | 116 | ||||
-rw-r--r-- | dev-libs/spdlog/spdlog-0.14.0-r1.ebuild | 40 |
2 files changed, 156 insertions, 0 deletions
diff --git a/dev-libs/spdlog/files/spdlog-0.14.0-CMakeLists.txt b/dev-libs/spdlog/files/spdlog-0.14.0-CMakeLists.txt new file mode 100644 index 000000000000..ad8062edda92 --- /dev/null +++ b/dev-libs/spdlog/files/spdlog-0.14.0-CMakeLists.txt @@ -0,0 +1,116 @@ +# +# Copyright(c) 2015 Ruslan Baratov. +# Distributed under the MIT License (http://opensource.org/licenses/MIT) +# + +cmake_minimum_required(VERSION 3.1) +project(spdlog VERSION 0.14.0) +include(CTest) +include(CMakeDependentOption) +include(GNUInstallDirs) + +#--------------------------------------------------------------------------------------- +# compiler config +#--------------------------------------------------------------------------------------- +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + set(CMAKE_CXX_FLAGS "-Wall ${CMAKE_CXX_FLAGS}") +endif() + +#--------------------------------------------------------------------------------------- +# spdlog target +#--------------------------------------------------------------------------------------- +add_library(spdlog INTERFACE) + +option(SPDLOG_BUILD_EXAMPLES "Build examples" OFF) +cmake_dependent_option(SPDLOG_BUILD_TESTING + "Build spdlog tests" ON + "BUILD_TESTING" OFF +) + +target_include_directories( + spdlog + INTERFACE + "$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/include>" + "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>" +) + +set(HEADER_BASE "${CMAKE_CURRENT_SOURCE_DIR}/include") + +if(SPDLOG_BUILD_EXAMPLES) + add_subdirectory(example) +endif() + +if(SPDLOG_BUILD_TESTING) + add_subdirectory(tests) +endif() + +#--------------------------------------------------------------------------------------- +# Install/export targets and files +#--------------------------------------------------------------------------------------- +# set files and directories +set(config_install_dir "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}") +set(include_install_dir "${CMAKE_INSTALL_INCLUDEDIR}") +set(pkgconfig_install_dir "${CMAKE_INSTALL_LIBDIR}/pkgconfig") +set(version_config "${CMAKE_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake") +set(project_config "${PROJECT_NAME}Config.cmake") +set(pkg_config "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc") +set(targets_export_name "${PROJECT_NAME}Targets") +set(namespace "${PROJECT_NAME}::") + +# generate package version file +include(CMakePackageConfigHelpers) +write_basic_package_version_file( + "${version_config}" COMPATIBILITY SameMajorVersion +) + +# configure pkg config file +configure_file("cmake/spdlog.pc.in" "${pkg_config}" @ONLY) + +# install targets +install( + TARGETS spdlog + EXPORT "${targets_export_name}" + INCLUDES DESTINATION "${include_install_dir}" +) + +# install headers +install( + DIRECTORY "${HEADER_BASE}/${PROJECT_NAME}" + DESTINATION "${include_install_dir}" +) + +# install project version file +install( + FILES "${version_config}" + DESTINATION "${config_install_dir}" +) + +# install pkg config file +install( + FILES "${pkg_config}" + DESTINATION "${pkgconfig_install_dir}" +) + +# install project config file +install( + EXPORT "${targets_export_name}" + NAMESPACE "${namespace}" + DESTINATION "${config_install_dir}" + FILE ${project_config} +) + +# export build directory config file +export( + EXPORT ${targets_export_name} + NAMESPACE "${namespace}" + FILE ${project_config} +) + +# register project in CMake user registry +export(PACKAGE ${PROJECT_NAME}) + +file(GLOB_RECURSE spdlog_include_SRCS "${HEADER_BASE}/*.h") +add_custom_target(spdlog_headers_for_ide SOURCES ${spdlog_include_SRCS}) diff --git a/dev-libs/spdlog/spdlog-0.14.0-r1.ebuild b/dev-libs/spdlog/spdlog-0.14.0-r1.ebuild new file mode 100644 index 000000000000..0118dd39d236 --- /dev/null +++ b/dev-libs/spdlog/spdlog-0.14.0-r1.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils + +DESCRIPTION="Very fast, header only, C++ logging library." +HOMEPAGE="https://github.com/gabime/spdlog" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/gabime/spdlog" +else + SRC_URI="https://github.com/gabime/spdlog/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="test" + +DEPEND="" +RDEPEND="${DEPEND}" + +src_prepare() { + # root CMakeLists.txt is CRLF line terminated, so... + cp "${FILESDIR}"/${P}-CMakeLists.txt CMakeLists.txt || die + cmake-utils_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DSPDLOG_BUILD_EXAMPLES=no + -DSPDLOG_BUILD_TESTING=$(usex test) + ) + + cmake-utils_src_configure + +} |