Преглед изворни кода

* Updated project structure

master
bergmann пре 6 година
родитељ
комит
ccc81c1796
9 измењених фајлова са 115 додато и 63 уклоњено
  1. +1
    -0
      CMakeFiles/cmake.check_cache
  2. +8
    -4
      CMakeLists.txt
  3. +4
    -2
      cmake/cppcore-config.cmake
  4. +6
    -0
      cmake/cppcore-options.cmake
  5. +39
    -15
      cmake/cppcore-var.cmake
  6. +1
    -1
      cmake/modules
  7. +3
    -3
      include/cppcore/misc/vector_streambuf.inl
  8. +9
    -7
      src/CMakeLists.txt
  9. +44
    -31
      test/CMakeLists.txt

+ 1
- 0
CMakeFiles/cmake.check_cache Прегледај датотеку

@@ -0,0 +1 @@
# This file is generated by cmake for dependency checking of the CMakeCache.txt file

+ 8
- 4
CMakeLists.txt Прегледај датотеку

@@ -20,7 +20,8 @@ EndIf ( )

# Project #########################################################################################

Include ( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cppcore-var.cmake" )
Include ( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cppcore-options.cmake )
Include ( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cppcore-var.cmake )
Project ( cppcore
DESCRIPTION "A simple library"
VERSION "${CPPCORE_VERSION}" )
@@ -41,9 +42,12 @@ Configure_File ( "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cppcore-c
@ONLY )

Set ( ConfigPackageLocation "${CPPCORE_INSTALL_DIR_SHARE}/cmake" )
Install ( EXPORT cppcore
NAMESPACE cppcore::
DESTINATION ${ConfigPackageLocation} )
Install ( EXPORT
cppcore
NAMESPACE
cppcore::
DESTINATION
${ConfigPackageLocation} )
Install ( FILES
"${CMAKE_CURRENT_BINARY_DIR}/cmake/cppcore-config.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/cmake/cppcore-config-version.cmake"


+ 4
- 2
cmake/cppcore-config.cmake Прегледај датотеку

@@ -1,4 +1,6 @@
# cppcore-config.cmake - package configuration file

Get_Filename_Component ( CURRENT_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH )
Include ( ${CURRENT_DIR}/cppcore.cmake )
Include ( FindPackageHandleStandardArgs )
Set ( ${CMAKE_FIND_PACKAGE_NAME}_CONFIG ${CMAKE_CURRENT_LIST_FILE} )
Find_Package_Handle_Standard_Args ( cppcore CONFIG_MODE )
Include ( "${CMAKE_CURRENT_LIST_DIR}/cppcore.cmake")

+ 6
- 0
cmake/cppcore-options.cmake Прегледај датотеку

@@ -0,0 +1,6 @@
Option ( CPPCORE_INSTALL_HEADER
"Install headers of cppcore."
ON )
Option ( CPPCORE_USE_GIT_VERSION
"Read the git tags to get the version of cppcore"
ON )

+ 39
- 15
cmake/cppcore-var.cmake Прегледај датотеку

@@ -1,20 +1,44 @@
# Version
Set ( CPPCORE_VERSION_MAJOR 1 )
Set ( CPPCORE_VERSION_MINOR 0 )
Set ( CPPCORE_VERSION_PATCH 0 )
Set ( CPPCORE_VERSION_BUILD 0 )
Set ( CPPCORE_VERSION_SHORT "${CPPCORE_VERSION_MAJOR}.${CPPCORE_VERSION_MINOR}" )
Set ( CPPCORE_VERSION "${CPPCORE_VERSION_SHORT}.${CPPCORE_VERSION_PATCH}.${CPPCORE_VERSION_BUILD}" )
Set ( CPPCORE_NAME "cppcore-${CPPCORE_VERSION_SHORT}" )
Set ( CPPCORE_OUTPUTNAME "helloworld" )
Set ( CPPCORE_VERSION_MAJOR 1 )
Set ( CPPCORE_VERSION_MINOR 0 )
Set ( CPPCORE_VERSION_PATCH 0 )
Set ( CPPCORE_VERSION_BUILD 0 )
Set ( CPPCORE_VERSION_HASH "" )
Set ( CPPCORE_VERSION_BEHIND 0 )
Set ( CPPCORE_VERSION_DIRTY 0 )

# Git Version
If ( CPPCORE_USE_GIT_VERSION )
Include ( git_helper OPTIONAL RESULT_VARIABLE HAS_GIT_HELPER )
If ( HAS_GIT_HELPER )
GitGetVersion ( ${CMAKE_CURRENT_LIST_DIR}/..
CPPCORE_VERSION_MAJOR
CPPCORE_VERSION_MINOR
CPPCORE_VERSION_PATCH
CPPCORE_VERSION_BUILD
CPPCORE_VERSION_HASH
CPPCORE_VERSION_BEHIND
CPPCORE_VERSION_DIRTY )
EndIf ( )
EndIf ( )

# Strings
Set ( CPPCORE_VERSION_SHORT "${CPPCORE_VERSION_MAJOR}.${CPPCORE_VERSION_MINOR}" )
Set ( CPPCORE_VERSION "${CPPCORE_VERSION_SHORT}.${CPPCORE_VERSION_PATCH}.${CPPCORE_VERSION_BUILD}" )
Set ( CPPCORE_VERSION_COMPLETE "${CPPCORE_VERSION}" )
Set ( CPPCORE_NAME "cppcore-${CPPCORE_VERSION_SHORT}" )
Set ( CPPCORE_OUTPUTNAME "cppcore" )
If ( CPPCORE_VERSION_BEHIND )
Set ( CPPCORE_VERSION_COMPLETE "${CPPCORE_VERSION_COMPLETE}+${CPPCORE_VERSION_BEHIND}" )
EndIf ( )

# Install directories
Set ( CPPCORE_INSTALL_DIR_INCLUDE "include/${CPPCORE_NAME}" )
Set ( CPPCORE_INSTALL_DIR_LIB "lib" )
Set ( CPPCORE_INSTALL_DIR_SHARE "share/${CPPCORE_NAME}" )
Set ( CPPCORE_INSTALL_DIR_INCLUDE "include/${CPPCORE_NAME}" )
Set ( CPPCORE_INSTALL_DIR_LIB "lib" )
Set ( CPPCORE_INSTALL_DIR_SHARE "share/${CPPCORE_NAME}" )

# C Standard
Set ( CMAKE_C_STANDARD 11 )
Set ( CMAKE_CXX_STANDARD 17 )
Set ( CMAKE_C_STANDARD_REQUIRED ON )
Set ( CMAKE_CXX_STANDARD_REQUIRED ON )
Set ( CMAKE_C_STANDARD 11 )
Set ( CMAKE_CXX_STANDARD 17 )
Set ( CMAKE_C_STANDARD_REQUIRED ON )
Set ( CMAKE_CXX_STANDARD_REQUIRED ON )

+ 1
- 1
cmake/modules

@@ -1 +1 @@
Subproject commit 1a32531aef2deeebd5637b1873bc4e976628801c
Subproject commit 4953cd4cc849afdfa02a6057b5a2011fb62e91a6

+ 3
- 3
include/cppcore/misc/vector_streambuf.inl Прегледај датотеку

@@ -31,7 +31,7 @@ namespace cppcore
_buffer = std::forward<T_vector>(v);
auto beg = reinterpret_cast<char_type*>(&_buffer.front());
auto end = beg + _buffer.size();
this->setp(beg, end);
this->setp(end, end);
this->setg(beg, beg, end);
}

@@ -53,8 +53,8 @@ namespace cppcore
::underflow()
{
auto gpos = static_cast<size_t>(this->gptr() - this->eback());
this->setg(this->pbase(), this->pbase() + gpos, this->pptr());
if (this->gptr() == this->pptr())
this->setg(this->eback(), this->eback() + gpos, this->pptr());
if (this->gptr() == this->egptr())
return traits_type::eof();
auto ret = static_cast<int_type>(*this->gptr());
return ret;


+ 9
- 7
src/CMakeLists.txt Прегледај датотеку

@@ -16,10 +16,12 @@ Target_Include_Directories ( cppcore
# Install #########################################################################################

# Header
Install ( FILES ${CPPCORE_INCLUDE_DIR}/cppcore.h
DESTINATION ${CPPCORE_INSTALL_DIR_INCLUDE} )
Install ( DIRECTORY ${CPPCORE_INCLUDE_DIR}/cppcore
DESTINATION ${CPPCORE_INSTALL_DIR_INCLUDE} )
Install ( TARGETS cppcore
EXPORT cppcore
DESTINATION ${CPPCORE_INSTALL_DIR_INCLUDE} )
If ( CPPCORE_INSTALL_HEADER )
Install ( FILES ${CPPCORE_INCLUDE_DIR}/cppcore.h
DESTINATION ${CPPCORE_INSTALL_DIR_INCLUDE} )
Install ( DIRECTORY ${CPPCORE_INCLUDE_DIR}/cppcore
DESTINATION ${CPPCORE_INSTALL_DIR_INCLUDE} )
Install ( TARGETS cppcore
EXPORT cppcore
DESTINATION ${CPPCORE_INSTALL_DIR_INCLUDE} )
EndIf ( )

+ 44
- 31
test/CMakeLists.txt Прегледај датотеку

@@ -11,34 +11,47 @@ If ( NOT "${GTest_FOUND}" )
Return ( )
EndIf ( )

File ( GLOB_RECURSE CPPCORE_TEST_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.h )
File ( GLOB_RECURSE CPPCORE_TEST_INLINE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.inl )
File ( GLOB_RECURSE CPPCORE_TEST_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp )

Add_Executable ( cppcore-test
EXCLUDE_FROM_ALL
${CPPCORE_TEST_HEADER_FILES}
${CPPCORE_TEST_INLINE_FILES}
${CPPCORE_TEST_SOURCE_FILES} )
Target_Link_Libraries ( cppcore-test
PUBLIC
cppcore
GTest::Main )

# optimization
If ( HAS_COTIRE )
Cotire ( cppcore-test )
EndIf ( )

# pedantic
If ( HAS_PEDANTIC )
Pedantic_Apply_Flags_Target ( cppcore-test
ALL )
EndIf ( )

# test
If ( HAS_CMAKE_TESTS )
Add_CMake_Test ( NAME cppcore TARGET cppcore-test )
Else ( )
Add_Test ( NAME cppcore COMMAND cppcore-test )
EndIf ( )
File ( GLOB_RECURSE CPPCORE_TEST_HEADER_FILES
${CMAKE_CURRENT_SOURCE_DIR}/*.h )
File ( GLOB_RECURSE CPPCORE_TEST_INLINE_FILES
${CMAKE_CURRENT_SOURCE_DIR}/*.inl )
File ( GLOB_RECURSE CPPCORE_TEST_SOURCE_FILES
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp )

ForEach ( FILE IN LISTS CPPCORE_TEST_SOURCE_FILES )
# add test
Get_Filename_Component ( TEST_DIR ${FILE} DIRECTORY )
Get_Filename_Component ( TEST_NAME ${FILE} NAME_WE )
Set ( TEST_NAME "${TEST_DIR}/${TEST_NAME}" )
String ( REPLACE "\\" "-" TEST_NAME "${TEST_NAME}" )
String ( REPLACE "/" "-" TEST_NAME "${TEST_NAME}" )
String ( REPLACE "_" "-" TEST_NAME "${TEST_NAME}" )
Set ( TEST_NAME "test-${TEST_NAME}" )
Add_Executable ( ${TEST_NAME}
EXCLUDE_FROM_ALL
${CPPCORE_TEST_HEADER_FILES}
${CPPCORE_TEST_INLINE_FILES}
${FILE} )
Target_Link_Libraries ( ${TEST_NAME}
PUBLIC
cppcore
GTest::Main )

# pedantic
If ( HAS_PEDANTIC )
Pedantic_Apply_Flags_Target ( ${TEST_NAME} ALL )
EndIf ( )

# optimization
If ( HAS_COTIRE )
Cotire ( ${TEST_NAME} )
EndIf ( )

# test
If ( HAS_CMAKE_TESTS )
Add_CMake_Test ( NAME ${TEST_NAME} TARGET ${TEST_NAME} )
Else ( )
Add_Test ( NAME ${TEST_NAME} COMMAND ${TEST_NAME} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
EndIf ( )
EndForEach ( )

Loading…
Откажи
Сачувај