commit:     0b43271f3bcb2644c7537c4becff6d50524b7462
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 17 14:50:17 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Sep 17 22:40:16 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0b43271f

dev-libs/spdlog: Use GNUInstalldirs, fix cmake files location

Fix indentation also.

Package-Manager: Portage-2.3.8, Repoman-2.3.3

 dev-libs/spdlog/files/spdlog-0.14.0-CMakeLists.txt | 116 +++++++++++++++++++++
 dev-libs/spdlog/spdlog-0.14.0-r1.ebuild            |  40 +++++++
 2 files changed, 156 insertions(+)

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 00000000000..ad8062edda9
--- /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 00000000000..0118dd39d23
--- /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
+
+}

Reply via email to