Make get_version constexpr and inline, move version.hpp to include.
Also configure all then include stuff in include/CMakeLists.txt.
This commit is contained in:
parent
fbaa3a211f
commit
b47b3e25a7
|
@ -1,3 +1,4 @@
|
|||
# src must come before include, because the target is declared there.
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(include)
|
||||
|
||||
|
|
|
@ -1,6 +1,22 @@
|
|||
include(GNUInstallDirs)
|
||||
|
||||
configure_file("version.hpp.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/version.hpp" @ONLY)
|
||||
|
||||
file(GLOB_RECURSE headers_lib *.hpp)
|
||||
target_sources(${PROJECT_NAME}
|
||||
PRIVATE "${headers_lib}" "${CMAKE_CURRENT_BINARY_DIR}/version.hpp")
|
||||
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
PUBLIC
|
||||
"$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/lib/include>"
|
||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>"
|
||||
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
|
||||
|
||||
# The trailing / is important.
|
||||
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/"
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}"
|
||||
FILES_MATCHING PATTERN "*.hpp")
|
||||
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/version.hpp"
|
||||
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}")
|
||||
|
|
|
@ -58,7 +58,10 @@ public:
|
|||
*
|
||||
* @since 0.1.0
|
||||
*/
|
||||
static string_view get_version();
|
||||
inline static constexpr string_view get_version()
|
||||
{
|
||||
return version;
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace FediPotato
|
||||
|
|
|
@ -2,13 +2,10 @@ include(GNUInstallDirs)
|
|||
|
||||
find_package(mastodonpp REQUIRED CONFIG)
|
||||
|
||||
configure_file ("version.hpp.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/version.hpp" @ONLY)
|
||||
|
||||
add_library(${PROJECT_NAME})
|
||||
|
||||
file(GLOB_RECURSE sources_lib *.cpp)
|
||||
file(GLOB_RECURSE headers_lib ../include/*.hpp)
|
||||
file(GLOB_RECURSE headers_lib *.hpp)
|
||||
target_sources(${PROJECT_NAME}
|
||||
PRIVATE "${sources_lib}" "${headers_lib}")
|
||||
|
||||
|
@ -16,13 +13,6 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
|
|||
VERSION ${PROJECT_VERSION}
|
||||
SOVERSION ${${PROJECT_NAME}_VERSION_MAJOR})
|
||||
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>" # version.hpp
|
||||
PUBLIC
|
||||
"$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/lib/include>"
|
||||
"$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>")
|
||||
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
PRIVATE mastodonpp::mastodonpp)
|
||||
|
||||
|
|
|
@ -15,14 +15,10 @@
|
|||
*/
|
||||
|
||||
#include "fedipotato.hpp"
|
||||
#include "version.hpp"
|
||||
|
||||
namespace FediPotato
|
||||
{
|
||||
|
||||
string_view FediPotato::get_version()
|
||||
{
|
||||
return version;
|
||||
}
|
||||
|
||||
|
||||
} // namespace FediPotato
|
||||
|
|
Reference in New Issue