diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..106a1f9 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,15 @@ +# CMakeList.txt : Top-level CMake project file, do global configuration +# and include sub-projects here. +# +cmake_minimum_required (VERSION 3.8) + +# Enable Hot Reload for MSVC compilers if supported. +if (POLICY CMP0141) + cmake_policy(SET CMP0141 NEW) + set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$,$>,$<$:EditAndContinue>,$<$:ProgramDatabase>>") +endif() + +project ("SpCloudMain") + +# Include sub-projects. +add_subdirectory ("SpCloudMain") diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 0000000..abf4065 --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,61 @@ +{ + "version": 3, + "configurePresets": [ + { + "name": "windows-base", + "hidden": true, + "generator": "Ninja", + "binaryDir": "${sourceDir}/out/build/${presetName}", + "installDir": "${sourceDir}/out/install/${presetName}", + "cacheVariables": { + "CMAKE_C_COMPILER": "cl.exe", + "CMAKE_CXX_COMPILER": "cl.exe" + }, + "condition": { + "type": "equals", + "lhs": "${hostSystemName}", + "rhs": "Windows" + } + }, + { + "name": "x64-debug", + "displayName": "x64 Debug", + "inherits": "windows-base", + "architecture": { + "value": "x64", + "strategy": "external" + }, + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug" + } + }, + { + "name": "x64-release", + "displayName": "x64 Release", + "inherits": "x64-debug", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release" + } + }, + { + "name": "x86-debug", + "displayName": "x86 Debug", + "inherits": "windows-base", + "architecture": { + "value": "x86", + "strategy": "external" + }, + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug" + } + }, + { + "name": "x86-release", + "displayName": "x86 Release", + "inherits": "x86-debug", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release" + } + } + ] +} diff --git a/SpCloudMain/CMakeLists.txt b/SpCloudMain/CMakeLists.txt new file mode 100644 index 0000000..2717eed --- /dev/null +++ b/SpCloudMain/CMakeLists.txt @@ -0,0 +1,12 @@ +# CMakeList.txt : CMake project for SpCloudMain, include source and define +# project specific logic here. +# + +# Add source to this project's executable. +add_executable (SpCloudMain "SpCloudMain.cpp" "SpCloudMain.h") + +if (CMAKE_VERSION VERSION_GREATER 3.12) + set_property(TARGET SpCloudMain PROPERTY CXX_STANDARD 20) +endif() + +# TODO: Add tests and install targets if needed. diff --git a/SpCloudMain/SpCloudMain.cpp b/SpCloudMain/SpCloudMain.cpp new file mode 100644 index 0000000..fb528e2 --- /dev/null +++ b/SpCloudMain/SpCloudMain.cpp @@ -0,0 +1,15 @@ +// SpCloudMain.cpp : Defines the entry point for the application. +// + +#include "SpCloudMain.h" + +using namespace std; + +int main() +{ + while (true) + { + cout << "Hello CMake." << endl; + } + return 0; +} diff --git a/SpCloudMain/SpCloudMain.h b/SpCloudMain/SpCloudMain.h new file mode 100644 index 0000000..ebcb6d9 --- /dev/null +++ b/SpCloudMain/SpCloudMain.h @@ -0,0 +1,8 @@ +// SpCloudMain.h : Include file for standard system include files, +// or project specific include files. + +#pragma once + +#include + +// TODO: Reference additional headers your program requires here.