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
|
#pragma once
|
||||||
|
#include "LSFramework.Exports.h"
|
||||||
#include "LSMacros.h"
|
#include "LSMacros.h"
|
||||||
#include "LSListItem.h"
|
#include "LSListItem.h"
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
|
|
||||||
class LSList
|
class LSFRAMEWORK_API LSList
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
LSList()
|
LSList()
|
||||||
|
@ -101,6 +102,5 @@ public:
|
||||||
private:
|
private:
|
||||||
LSListItem<T>* m_pFirst = nullptr;
|
LSListItem<T>* m_pFirst = nullptr;
|
||||||
LSListItem<T>* m_pLast = nullptr;
|
LSListItem<T>* m_pLast = nullptr;
|
||||||
|
|
||||||
size_t m_zSize = 0;
|
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
|
size_t LSString::StringLength(const char* pChar) const
|
||||||
{
|
{
|
||||||
if (!pChar) return 0;
|
if (!pChar) return 0;
|
||||||
size_t zRet = 0;
|
const char* pStart = pChar;
|
||||||
while (*(pChar + zRet) != 0x0)
|
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)
|
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];
|
char* pNew = new char[m_uiCapacity + 1];
|
||||||
memset(pNew, 0, 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);
|
DELETE_ARRAY(m_pData);
|
||||||
m_pData = pNew;
|
m_pData = pNew;
|
||||||
}
|
}
|
|
@ -1,8 +1,10 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <string>
|
#include "LSFramework.Exports.h"
|
||||||
#include "LSMacros.h"
|
#include "LSMacros.h"
|
||||||
|
|
||||||
class LSString
|
#include <string>
|
||||||
|
|
||||||
|
class LSFRAMEWORK_API LSString
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
// - Constructor
|
// - 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
|
#pragma once
|
||||||
#include <chrono>
|
#include "LSFramework.Exports.h"
|
||||||
#include "LSString.h"
|
#include "LSString.h"
|
||||||
|
|
||||||
class Timer
|
#include <chrono>
|
||||||
|
|
||||||
|
class LSFRAMEWORK_API Timer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Timer(LSString sEndString = "");
|
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
|
rem define build parameters
|
||||||
set ARCHITECTURE=x64
|
set ARCHITECTURE=x64
|
||||||
set VISUAL_STUDIO=msvc2019
|
set VISUAL_STUDIO=msvc2019
|
||||||
set GENERATOR=Visual Studio 16 2019 Win64
|
set GENERATOR=Visual Studio 16 2019
|
||||||
|
|
||||||
rem concatenate build directory
|
rem concatenate build directory
|
||||||
set BUILDRESULTS=%~dp0\..\BuildResults\%VISUAL_STUDIO%_%ARCHITECTURE%
|
set BUILDRESULTS=%~dp0\..\BuildResults\%VISUAL_STUDIO%_%ARCHITECTURE%
|
Loading…
Add table
Add a link
Reference in a new issue