created project with cmake
This commit is contained in:
parent
c4b3d8ac5f
commit
5f6abf300e
54 changed files with 412 additions and 310 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/BuildResults
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
|
@ -1,31 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.28307.1778
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LSFramework", "LSFramework\LSFramework.vcxproj", "{5FE98B77-3558-4384-BDAF-82AC8B69B752}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{5FE98B77-3558-4384-BDAF-82AC8B69B752}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{5FE98B77-3558-4384-BDAF-82AC8B69B752}.Debug|x64.Build.0 = Debug|x64
|
||||
{5FE98B77-3558-4384-BDAF-82AC8B69B752}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{5FE98B77-3558-4384-BDAF-82AC8B69B752}.Debug|x86.Build.0 = Debug|Win32
|
||||
{5FE98B77-3558-4384-BDAF-82AC8B69B752}.Release|x64.ActiveCfg = Release|x64
|
||||
{5FE98B77-3558-4384-BDAF-82AC8B69B752}.Release|x64.Build.0 = Release|x64
|
||||
{5FE98B77-3558-4384-BDAF-82AC8B69B752}.Release|x86.ActiveCfg = Release|Win32
|
||||
{5FE98B77-3558-4384-BDAF-82AC8B69B752}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {CDE2A97D-BF32-4748-9A47-B8D0E10D3A9D}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -1,170 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>15.0</VCProjectVersion>
|
||||
<ProjectGuid>{5FE98B77-3558-4384-BDAF-82AC8B69B752}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>String</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
<ProjectName>LSFramework</ProjectName>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.cpp" />
|
||||
<ClCompile Include="LSString.cpp" />
|
||||
<ClCompile Include="Timer.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="LSList.h" />
|
||||
<ClInclude Include="LSListItem.h" />
|
||||
<ClInclude Include="LSMacros.h" />
|
||||
<ClInclude Include="LSString.h" />
|
||||
<ClInclude Include="LSVector.h" />
|
||||
<ClInclude Include="Timer.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup />
|
||||
</Project>
|
|
@ -1,92 +0,0 @@
|
|||
#pragma once
|
||||
#include <vector>
|
||||
#include "LSMacros.h"
|
||||
|
||||
template <class T>
|
||||
|
||||
class LSVector
|
||||
{
|
||||
public:
|
||||
LSVector(size_t zSize = 1)
|
||||
{
|
||||
m_pData = new T[zSize];
|
||||
m_zCapacity = zSize;
|
||||
}
|
||||
|
||||
~LSVector()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
T& PushBack(T obj)
|
||||
{
|
||||
}
|
||||
|
||||
T& PopBack()
|
||||
{
|
||||
}
|
||||
|
||||
T& Insert(const size_t zPos)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
T& Remove(const size_t zPos)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
T& At(const size_t zPos)
|
||||
{
|
||||
return m_pData[zPos];
|
||||
}
|
||||
|
||||
void Reserve(const size_t zSize)
|
||||
{
|
||||
T* pOld = m_pData;
|
||||
m_pData = new T[zSize];
|
||||
|
||||
memmove_s(m_pData, zSize, pOld, m_zSize);
|
||||
m_zSize = zSize;
|
||||
m_zCapacity = zSize;
|
||||
|
||||
DELETE_ARRAY(pOld);
|
||||
}
|
||||
|
||||
void Clear()
|
||||
{
|
||||
DELETE_ARRAY(m_pData)
|
||||
}
|
||||
|
||||
size_t Size() const
|
||||
{
|
||||
return m_zSize;
|
||||
}
|
||||
|
||||
size_t Capacity() const
|
||||
{
|
||||
return m_zCapacity;
|
||||
}
|
||||
|
||||
T* Data() const
|
||||
{
|
||||
return m_pData;
|
||||
}
|
||||
|
||||
LSVector& operator=(const LSVector oRhs)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
LSVector& operator[](const size_t _Pos)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
std::vector<int> s;
|
||||
T* m_pData = nullptr;
|
||||
size_t m_zSize = 0;
|
||||
size_t m_zCapacity = 0;
|
||||
};
|
57
Software/CMakeLists.txt
Normal file
57
Software/CMakeLists.txt
Normal file
|
@ -0,0 +1,57 @@
|
|||
###########################################################################################
|
||||
#
|
||||
# (c) Technical Software Engineering Plazotta 2021
|
||||
#
|
||||
# CMAKE project main file / LSFramework
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Define project specific requirements
|
||||
#
|
||||
# Minimum CMAKE version for this project
|
||||
#
|
||||
cmake_minimum_required (VERSION 3.23.0)
|
||||
#
|
||||
# Name of the project
|
||||
set(MAIN_PROJECT_NAME LSFramework)
|
||||
project(${MAIN_PROJECT_NAME})
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Include project specific definitions -> Generated file
|
||||
#
|
||||
include(Project.conf.cmake)
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Include cmake settings and macros
|
||||
#
|
||||
include(${TSEP_PROJECT_CMAKE}/CMakeMacros.cmake)
|
||||
include(${TSEP_PROJECT_CMAKE}/CMakeSettings.cmake)
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# google test framework -> enable if used
|
||||
#
|
||||
#TSEP_USE_GOOGLE_TESTING()
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Current project description
|
||||
#
|
||||
set(TSEP_PROJECT "Framework")
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Allow project folder structure
|
||||
#
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Define projects for building
|
||||
#
|
||||
add_subdirectory("Framework")
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Define projects for managing and distributing
|
||||
#
|
||||
# NEXUS Upload (Only windows)
|
||||
#
|
||||
IF(WIN32)
|
||||
|
||||
ENDIF()
|
||||
#
|
109
Software/Framework/CMakeLists.txt
Normal file
109
Software/Framework/CMakeLists.txt
Normal file
|
@ -0,0 +1,109 @@
|
|||
###########################################################################################
|
||||
#
|
||||
# (c) Technical Software Engineering Plazotta 2021
|
||||
#
|
||||
# CMAKE project file / @Add your project name@
|
||||
#
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Define project specific requirements
|
||||
#
|
||||
# Project name, output file name, project description
|
||||
#
|
||||
set(PROJECT_NAME LSFramework)
|
||||
set(PROJECT_OUTPUT_NAME LSFramework)
|
||||
set(PROJECT_DESCRIPTION "LSFramework")
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Define group file names
|
||||
#
|
||||
# SOURCE FILES
|
||||
#
|
||||
set(SOURCE_FILES
|
||||
src/Timer.cpp
|
||||
src/LSString.cpp
|
||||
)
|
||||
#
|
||||
# HEADER FILES
|
||||
#
|
||||
set(HEADER_FILES
|
||||
src/LSFramework.Exports.h
|
||||
src/LSMacros.h
|
||||
src/Timer.h
|
||||
src/CJsonDocument.h
|
||||
src/CJsonNode.h
|
||||
src/CJsonArray.h
|
||||
src/CJsonObject.h
|
||||
src/LSString.h
|
||||
src/LSList.h
|
||||
src/LSListItem.h
|
||||
src/LSVector.h
|
||||
)
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Define solution folders for group files
|
||||
#
|
||||
source_group("Source Files" FILES ${SOURCE_FILES})
|
||||
source_group("Header Files" FILES ${HEADER_FILES})
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# DLL definitions
|
||||
#
|
||||
# Setup shared library version
|
||||
#
|
||||
TSEP_SETUP_DLL_VERSION(${PROJECT_DESCRIPTION})
|
||||
#
|
||||
# Create shared library target
|
||||
#
|
||||
add_library(${PROJECT_NAME} SHARED
|
||||
${SOURCE_FILES}
|
||||
${HEADER_FILES}
|
||||
${TSEP_DLL_VERSION_RC}
|
||||
)
|
||||
#
|
||||
# Add alias for the project
|
||||
#
|
||||
add_library(LS::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
|
||||
#
|
||||
# Setup TSEP OS specific settings for the project
|
||||
#
|
||||
TSEP_ADD_OS_SPECIFIC_SETTINGS()
|
||||
#
|
||||
# Setup output name
|
||||
#
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${PROJECT_OUTPUT_NAME})
|
||||
#
|
||||
# Use VS Code Analysis for the project
|
||||
#
|
||||
TSEP_USE_CODE_ANALYSIS(${PROJECT_NAME})
|
||||
#
|
||||
# Define Export Headers
|
||||
#
|
||||
TSEP_ADD_EXPORT_HEADER("${HEADER_FILES}")
|
||||
#
|
||||
# Include files, add your own includes and for the export
|
||||
#
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src>
|
||||
$<INSTALL_INTERFACE:inc>
|
||||
#PRIVATE
|
||||
# include paths, which will not be exported
|
||||
)
|
||||
#
|
||||
# Add used libs
|
||||
#
|
||||
#target_link_libraries(${PROJECT_NAME}
|
||||
# PUBLIC
|
||||
# /- Add your additional libraries -/
|
||||
#)
|
||||
#
|
||||
# Create an Export directory with the defined data
|
||||
#
|
||||
TSEP_CREATE_EXPORT()
|
||||
#
|
||||
#
|
||||
# Create links to necessary dependency libraries
|
||||
#
|
||||
TSEP_GENERATE_DEPENDENCY_LINKS()
|
||||
#
|
47
Software/Framework/src/LSFramework.Exports.h
Normal file
47
Software/Framework/src/LSFramework.Exports.h
Normal file
|
@ -0,0 +1,47 @@
|
|||
/**
|
||||
* @page @Add your project name@
|
||||
*
|
||||
* @author TSEP
|
||||
*
|
||||
* @copyright (c) Technical Software Engineering Plazotta 2021
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* @file @Add your project name@.Exports.h
|
||||
* @brief Definition of export declarations for this library
|
||||
*
|
||||
**************************************************************************/
|
||||
//TSEP_Pragma.UnitTest.Skip
|
||||
#pragma once
|
||||
|
||||
// Note:
|
||||
// "<project>_EXPORTS" preprocessor define is defined by CMake when compiling <project>
|
||||
|
||||
/*------------------------------------------------------------------------------
|
||||
// OPERATING SYSTEM : WIN32
|
||||
//----------------------------------------------------------------------------*/
|
||||
#ifdef _WIN32
|
||||
|
||||
/// @cond Exclude this macro from doxygen
|
||||
#ifdef LSFramework_EXPORTS
|
||||
#define LSFRAMEWORK_API __declspec(dllexport)
|
||||
#else
|
||||
#define LSFRAMEWORK_API __declspec(dllimport)
|
||||
#endif
|
||||
/// @endcond
|
||||
|
||||
#endif
|
||||
|
||||
/*------------------------------------------------------------------------------
|
||||
// OPERATING SYSTEM : LINUX
|
||||
//----------------------------------------------------------------------------*/
|
||||
#ifdef __linux__
|
||||
|
||||
#ifdef LSFRAMEWORK_EXPORTS
|
||||
#define LSFRAMEWORK_API __attribute__((visibility("default")))
|
||||
#else
|
||||
#define LSFRAMEWORK_API
|
||||
#endif
|
||||
|
||||
#endif // __linux__
|
||||
|
|
@ -1,10 +1,11 @@
|
|||
#pragma once
|
||||
#include "LSFramework.Exports.h"
|
||||
#include "LSMacros.h"
|
||||
#include "LSListItem.h"
|
||||
|
||||
template <class T>
|
||||
|
||||
class LSList
|
||||
class LSFRAMEWORK_API LSList
|
||||
{
|
||||
public:
|
||||
LSList()
|
||||
|
@ -101,6 +102,5 @@ public:
|
|||
private:
|
||||
LSListItem<T>* m_pFirst = nullptr;
|
||||
LSListItem<T>* m_pLast = nullptr;
|
||||
|
||||
size_t m_zSize = 0;
|
||||
};
|
|
@ -86,12 +86,12 @@ bool LSString::RemoveAt(size_t uiPos, size_t uiSize)
|
|||
size_t LSString::StringLength(const char* pChar) const
|
||||
{
|
||||
if (!pChar) return 0;
|
||||
size_t zRet = 0;
|
||||
while (*(pChar + zRet) != 0x0)
|
||||
const char* pStart = pChar;
|
||||
while (*pChar != 0x0)
|
||||
{
|
||||
zRet++;
|
||||
pChar++;
|
||||
}
|
||||
return zRet;
|
||||
return pChar - pStart;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -110,10 +110,10 @@ int LSString::Find(const char * pData, size_t uiOffset, size_t uiLength) const
|
|||
//-----------------------------------------------------------------------------------------------------------------------------
|
||||
void LSString::IncreaseCapacity(size_t uiNewLength)
|
||||
{
|
||||
m_uiCapacity = (m_uiCapacity + uiNewLength) * c_uiCapacityIncreaseFactor;
|
||||
m_uiCapacity = uiNewLength * c_uiCapacityIncreaseFactor;
|
||||
char* pNew = new char[m_uiCapacity + 1];
|
||||
memset(pNew, 0, m_uiCapacity + 1);
|
||||
memcpy(pNew, m_pData, m_zSize);
|
||||
memmove(pNew, m_pData, m_zSize);
|
||||
DELETE_ARRAY(m_pData);
|
||||
m_pData = pNew;
|
||||
}
|
|
@ -1,8 +1,10 @@
|
|||
#pragma once
|
||||
#include <string>
|
||||
#include "LSFramework.Exports.h"
|
||||
#include "LSMacros.h"
|
||||
|
||||
class LSString
|
||||
#include <string>
|
||||
|
||||
class LSFRAMEWORK_API LSString
|
||||
{
|
||||
public:
|
||||
// - Constructor
|
131
Software/Framework/src/LSVector.h
Normal file
131
Software/Framework/src/LSVector.h
Normal file
|
@ -0,0 +1,131 @@
|
|||
#pragma once
|
||||
#include "LSFramework.Exports.h"
|
||||
#include "LSMacros.h"
|
||||
|
||||
#include <vector>
|
||||
|
||||
template <class T>
|
||||
|
||||
class LSFRAMEWORK_API LSVector
|
||||
{
|
||||
public:
|
||||
|
||||
LSVector()
|
||||
{
|
||||
}
|
||||
|
||||
LSVector(size_t zSize)
|
||||
{
|
||||
m_pData = new T[zSize];
|
||||
m_zCapacity = zSize;
|
||||
}
|
||||
|
||||
LSVector(const LSVector& oRhs)
|
||||
: m_pData(oRhs.m_pData)
|
||||
, m_zSize(oRhs.m_zSize)
|
||||
, m_zCapacity(oRhs.m_zCapacity)
|
||||
{
|
||||
}
|
||||
|
||||
~LSVector()
|
||||
{
|
||||
DELETE_ARRAY(m_pData)
|
||||
}
|
||||
|
||||
T& PushBack(T oNewobj)
|
||||
{
|
||||
return Assign(oNewobj);
|
||||
}
|
||||
|
||||
T& Assign(T oNewobj)
|
||||
{
|
||||
if (m_zSize == m_zCapacity)
|
||||
{
|
||||
m_zCapacity *= c_dCapacityIncreaseFactor;
|
||||
T* pNew = new T[m_zCapacity];
|
||||
memmove(pNew, m_pData, m_zSize);
|
||||
DELETE_ARRAY(m_pData);
|
||||
m_pData = pNew;
|
||||
}
|
||||
m_zSize += 1;
|
||||
m_pData[m_zSize] = oNewobj;
|
||||
return m_pData[m_zSize];
|
||||
}
|
||||
|
||||
T& Insert(T oNewobj, const size_t zPos)
|
||||
{
|
||||
if (zPos == m_zCapacity)
|
||||
{
|
||||
return Assign(oNewobj);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_pData[zPos] = oNewobj;
|
||||
return m_pData[zPos];
|
||||
}
|
||||
}
|
||||
|
||||
void PopBack()
|
||||
{
|
||||
Remove(m_zSize);
|
||||
}
|
||||
|
||||
void Remove(const size_t zPos)
|
||||
{
|
||||
memset(m_pData[zPos], 0, sizeof(T));
|
||||
}
|
||||
|
||||
T& At(const size_t zPos)
|
||||
{
|
||||
return m_pData[zPos];
|
||||
}
|
||||
|
||||
void Reserve(const size_t zNewCapacity)
|
||||
{
|
||||
if (zNewCapacity < m_zCapacity) return;
|
||||
T* pOld = m_pData;
|
||||
m_pData = new T[zNewCapacity];
|
||||
memmove_s(m_pData, zNewCapacity, pOld, m_zSize);
|
||||
m_zCapacity = zNewCapacity;
|
||||
DELETE_ARRAY(pOld);
|
||||
}
|
||||
|
||||
void Clear()
|
||||
{
|
||||
DELETE_ARRAY(m_pData)
|
||||
}
|
||||
|
||||
size_t Size() const
|
||||
{
|
||||
return m_zSize;
|
||||
}
|
||||
|
||||
size_t Capacity() const
|
||||
{
|
||||
return m_zCapacity;
|
||||
}
|
||||
|
||||
T* Data() const
|
||||
{
|
||||
return m_pData;
|
||||
}
|
||||
|
||||
LSVector operator=(const LSVector oRhs)
|
||||
{
|
||||
LSVector vTemp();
|
||||
vTemp.m_pData = oRhs.m_pData;
|
||||
}
|
||||
|
||||
T& operator[](const size_t _Pos)
|
||||
{
|
||||
m_pData + _Pos * sizeof(T);
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
std::vector<int> s;
|
||||
T* m_pData = nullptr;
|
||||
size_t m_zSize = 0;
|
||||
size_t m_zCapacity = 0;
|
||||
const float c_dCapacityIncreaseFactor = 1.5;
|
||||
};
|
|
@ -1,8 +1,10 @@
|
|||
#pragma once
|
||||
#include <chrono>
|
||||
#include "LSFramework.Exports.h"
|
||||
#include "LSString.h"
|
||||
|
||||
class Timer
|
||||
#include <chrono>
|
||||
|
||||
class LSFRAMEWORK_API Timer
|
||||
{
|
||||
public:
|
||||
Timer(LSString sEndString = "");
|
50
Software/Project.conf.cmake
Normal file
50
Software/Project.conf.cmake
Normal file
|
@ -0,0 +1,50 @@
|
|||
###########################################################################################
|
||||
#
|
||||
# (c) Technical Software Engineering Plazotta 2022
|
||||
#
|
||||
# CMAKE project configuration file
|
||||
#
|
||||
# -- DO NOT EDIT, will be generated automatically --
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Define user specific elements for all tools and components
|
||||
#
|
||||
IF(WIN32)
|
||||
set (TSEP_STORAGE_PATH "E:/TsepStorage")
|
||||
ELSE()
|
||||
set (TSEP_STORAGE_PATH /opt/tsep-storage)
|
||||
ENDIF()
|
||||
set (TSEP_PRODUCT_GROUP "Development")
|
||||
set (TSEP_PRODUCT_NAME "LSFramework")
|
||||
set (TSEP_PRODUCT_DESCRIPTION "TSEP Core Framework")
|
||||
set (TSEP_PRODUCT_VERSION "1,5,100")
|
||||
set (TSEP_VERSION "1.5.100")
|
||||
set (TSEP_VERSION_MAJOR 1)
|
||||
set (TSEP_VERSION_MINOR 5)
|
||||
set (TSEP_VERSION_PATCH 100)
|
||||
set (TSEP_NEXUS_VERSION "01.05.100")
|
||||
set (TSEP_UPDATE_IN_NEXUS "true")
|
||||
set (TSEP_COPYRIGHT_STRING "Copyright Technical Software Engineering Plazotta 2022")
|
||||
set (TSEP_COMPANY_LONGNAME "Technical Software Engineering Plazotta")
|
||||
set (TSEP_NEXUS_URL "https://srv-nexus-3.tsep.local/repository")
|
||||
set (TSEP_NEXUS_GUID "53ec8373-e298-31ed-bd2f-c21204d48a32")
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Define component specific private elements
|
||||
#
|
||||
set (TSEP_PROJECT_CMAKE "${TSEP_STORAGE_PATH}/CMake/CMake.1.5.1")
|
||||
set (TSEP_PROJECT_GOOGLE.TEST "${TSEP_STORAGE_PATH}/Google.Test/Google.Test.1.10.1")
|
||||
set (TSEP_PROJECT_INTIME "${TSEP_STORAGE_PATH}/INtime/INtime.6.4.5")
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Include the cmake definition for basic compiler and os defines
|
||||
#
|
||||
include(${TSEP_PROJECT_CMAKE}/CMakeCore.cmake)
|
||||
#
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Define component specific public elements
|
||||
#
|
||||
set (TSEP_PROJECT_FRAMEWORK.CORE "${TSEP_STORAGE_PATH}/Framework.Core/Framework.Core.1.5.100/bin/${TSEP_CMAKE_GENERATOR}/cmake")
|
||||
|
|
@ -4,7 +4,7 @@ setlocal
|
|||
rem define build parameters
|
||||
set ARCHITECTURE=x64
|
||||
set VISUAL_STUDIO=msvc2019
|
||||
set GENERATOR=Visual Studio 16 2019 Win64
|
||||
set GENERATOR=Visual Studio 16 2019
|
||||
|
||||
rem concatenate build directory
|
||||
set BUILDRESULTS=%~dp0\..\BuildResults\%VISUAL_STUDIO%_%ARCHITECTURE%
|
Loading…
Add table
Add a link
Reference in a new issue