created project with cmake

This commit is contained in:
Luis Stanglmeier 2022-06-23 13:44:39 +02:00
parent c4b3d8ac5f
commit 5f6abf300e
54 changed files with 412 additions and 310 deletions

View 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()
#