created project with cmake
This commit is contained in:
parent
c4b3d8ac5f
commit
5f6abf300e
54 changed files with 412 additions and 310 deletions
165
CMake/CMake.1.6.0/CMakeSettings.cmake
Normal file
165
CMake/CMake.1.6.0/CMakeSettings.cmake
Normal file
|
@ -0,0 +1,165 @@
|
|||
###########################################################################################
|
||||
#
|
||||
# (c) Technical Software Engineering Plazotta 2019
|
||||
#
|
||||
# CMAKE project settings file
|
||||
#
|
||||
# History
|
||||
# 29.09.2019 / Plazotta
|
||||
# Template created.
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
#
|
||||
#-----------------------------------------------------------------------------------------
|
||||
# Define the project global CMAKE settings
|
||||
#
|
||||
set (TSEP_PROJECT_NAME ${PROJECT_NAME})
|
||||
set (TSEP_SOURCE_DIR ${PROJECT_SOURCE_DIR})
|
||||
set (TSEP_EXPORT_DIR ${PROJECT_SOURCE_DIR}/../Export)
|
||||
set (TSEP_BINARY_DIR ${PROJECT_BINARY_DIR})
|
||||
set (TSEP_TARGET_DIR ${CMAKE_BINARY_DIR}/${TSEP_BUILD_CONFIGURATION})
|
||||
set (TSEP_CA_RULESET_DIR RuleSets)
|
||||
set (TSEP_CA_RULESET_FILE TsepNativeRecommendedRules.ruleset)
|
||||
set (TSEP_VS_PROP_FILE TsepPropertySheet.props)
|
||||
|
||||
set(TSEP_AUTOBUILD_PROJECT "")
|
||||
set_property(GLOBAL PROPERTY TSEP_AUTOBUILD_UNITTEST)
|
||||
|
||||
IF (WIN32)
|
||||
set (TSEP_APPLICATION_ICON_PATH ${TSEP_PROJECT_CMAKE}"/Versions/Win32/TSEP.ico")
|
||||
set (TSEP_APP_VERSION_RC ${TSEP_PROJECT_CMAKE}"/Versions/Win32/DefaultAppVersion.rc")
|
||||
set (TSEP_DLL_VERSION_RC ${TSEP_PROJECT_CMAKE}"/Versions/Win32/DefaultDllVersion.rc")
|
||||
set (TSEP_NUGET_APPLICATION nuget.exe)
|
||||
ELSE()
|
||||
set (TSEP_APPLICATION_ICON_PATH "")
|
||||
set (TSEP_APP_VERSION_RC "")
|
||||
set (TSEP_DLL_VERSION_RC "")
|
||||
set (TSEP_NUGET_APPLICATION nuget)
|
||||
ENDIF()
|
||||
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# SET INCLUDE PATH FOR CMAKE PROVIDED HEADERS
|
||||
###############################################################################
|
||||
include_directories(${CMAKE_CURRENT_LIST_DIR}/Includes)
|
||||
|
||||
###############################################################################
|
||||
# PROJECT SPECIFIC VARIABLES
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# COMPILER SETTINGS
|
||||
###############################################################################
|
||||
# Windows
|
||||
###############################################################################
|
||||
IF (WIN32)
|
||||
|
||||
#- Compiler Warning level 4 -> /W4 --------------------------------------------
|
||||
#- Compiler Generate Debug Info -> /Zi ----------------------------------------
|
||||
add_compile_options(
|
||||
/W4
|
||||
/Zi
|
||||
)
|
||||
|
||||
#- Compile with UNICODE chars -------------------------------------------------
|
||||
#- Compile with minimal windows libs --------------------------------------------
|
||||
#- Minimum Windows is W7 (0x0601) ---------------------------------------------
|
||||
#- No secure warnings ---------------------------------------------------------
|
||||
add_definitions(
|
||||
/DUNICODE
|
||||
/D_UNICODE
|
||||
/DWIN32_LEAN_AND_MEAN
|
||||
/D_WIN32_WINNT=0x0601
|
||||
/D_CRT_SECURE_NO_WARNINGS
|
||||
)
|
||||
|
||||
add_link_options(
|
||||
/Debug
|
||||
)
|
||||
|
||||
ENDIF()
|
||||
|
||||
###############################################################################
|
||||
# LINUX
|
||||
###############################################################################
|
||||
IF (LINUX)
|
||||
|
||||
#- Define for Intel linux -----------------------------------------------------
|
||||
#- relocatable code ----------------------------------------------------------
|
||||
add_compile_options(
|
||||
-fPIC
|
||||
-pthread
|
||||
)
|
||||
|
||||
#add_definitions(
|
||||
#)
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic -Wno-unknown-pragmas -Wno-pragma-once-outside-header -fvisibility=hidden")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic -Wno-unknown-pragmas -Wno-pragma-once-outside-header -fvisibility=hidden")
|
||||
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG")
|
||||
|
||||
set(CMAKE_INSTALL_RPATH "$ORIGIN")
|
||||
set(CMAKE_BUILD_RPATH "$ORIGIN")
|
||||
|
||||
ENDIF()
|
||||
|
||||
###############################################################################
|
||||
# SET OUTPUT DIRECTORIES for exe, dll, lib and pdb files
|
||||
###############################################################################
|
||||
|
||||
# must set directories for each configuration,
|
||||
if(WIN32)
|
||||
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/../../Export)
|
||||
|
||||
# cmake can not use the $(Configuration) variable, so we must define separate debug and release variables
|
||||
set(TSEP_TARGET_DIR ${CMAKE_BINARY_DIR}/$(Configuration))
|
||||
set(TSEP_TARGET_DIR_RELEASE ${CMAKE_BINARY_DIR}/Release)
|
||||
set(TSEP_TARGET_DIR_DEBUG ${CMAKE_BINARY_DIR}/Debug)
|
||||
else()
|
||||
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/../Export)
|
||||
|
||||
set(TSEP_TARGET_DIR ${CMAKE_BINARY_DIR})
|
||||
set(TSEP_TARGET_DIR_RELEASE ${CMAKE_BINARY_DIR})
|
||||
set(TSEP_TARGET_DIR_DEBUG ${CMAKE_BINARY_DIR})
|
||||
endif()
|
||||
|
||||
# set directories
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${TSEP_TARGET_DIR_RELEASE}/bin)
|
||||
if(WIN32)
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${TSEP_TARGET_DIR_RELEASE}/lib)
|
||||
else()
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${TSEP_TARGET_DIR_RELEASE}/bin)
|
||||
endif()
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${TSEP_TARGET_DIR_RELEASE}/lib)
|
||||
set(CMAKE_PDB_OUTPUT_DIRECTORY_RELEASE ${TSEP_TARGET_DIR_RELEASE}/lib)
|
||||
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${TSEP_TARGET_DIR_DEBUG}/bin)
|
||||
if(WIN32)
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${TSEP_TARGET_DIR_DEBUG}/lib)
|
||||
else()
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${TSEP_TARGET_DIR_DEBUG}/bin)
|
||||
endif()
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${TSEP_TARGET_DIR_DEBUG}/lib)
|
||||
set(CMAKE_PDB_OUTPUT_DIRECTORY_DEBUG ${TSEP_TARGET_DIR_DEBUG}/lib)
|
||||
|
||||
IF (WIN32)
|
||||
file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/Debug/bin")
|
||||
file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/Release/bin")
|
||||
ENDIF()
|
||||
|
||||
###############################################################################
|
||||
|
||||
message(NOTICE "------------------------------------------------------------")
|
||||
message(NOTICE " Used Generator = ${TSEP_CMAKE_GENERATOR}")
|
||||
message(NOTICE " Used Config = ${TSEP_BUILD_CONFIGURATION}")
|
||||
message(NOTICE " Used Project = ${TSEP_PROJECT_NAME}")
|
||||
message(NOTICE " Source path = ${TSEP_SOURCE_DIR}")
|
||||
message(NOTICE " Binary path = ${TSEP_BINARY_DIR}")
|
||||
message(NOTICE " Target path = ${TSEP_TARGET_DIR}")
|
||||
message(NOTICE " Product Build = ${TSEP_PRODUCT_BUILD}")
|
||||
message(NOTICE "------------------------------------------------------------")
|
||||
|
||||
###############################################################################
|
Loading…
Add table
Add a link
Reference in a new issue