forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-libs/spdlog: Use GNUInstalldirs, fix cmake files location
Fix indentation also. Package-Manager: Portage-2.3.8, Repoman-2.3.3
- Loading branch information
Showing
2 changed files
with
156 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
|
||
} |