diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..1f23619 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.20) + +project(Modulith LANGUAGES CXX) + +add_subdirectory(ModulithEngine) +add_subdirectory(ModulithEditor) \ No newline at end of file diff --git a/CMakePresets.json b/CMakePresets.json new file mode 100644 index 0000000..f4bc98b --- /dev/null +++ b/CMakePresets.json @@ -0,0 +1,101 @@ +{ + "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" + } + }, + { + "name": "linux-debug", + "displayName": "Linux Debug", + "generator": "Ninja", + "binaryDir": "${sourceDir}/out/build/${presetName}", + "installDir": "${sourceDir}/out/install/${presetName}", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug" + }, + "condition": { + "type": "equals", + "lhs": "${hostSystemName}", + "rhs": "Linux" + }, + "vendor": { + "microsoft.com/VisualStudioRemoteSettings/CMake/1.0": { + "sourceDir": "$env{HOME}/.vs/$ms{projectDirName}" + } + } + }, + { + "name": "macos-debug", + "displayName": "macOS Debug", + "generator": "Ninja", + "binaryDir": "${sourceDir}/out/build/${presetName}", + "installDir": "${sourceDir}/out/install/${presetName}", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug" + }, + "condition": { + "type": "equals", + "lhs": "${hostSystemName}", + "rhs": "Darwin" + }, + "vendor": { + "microsoft.com/VisualStudioRemoteSettings/CMake/1.0": { + "sourceDir": "$env{HOME}/.vs/$ms{projectDirName}" + } + } + } + ] +} diff --git a/ModulithEditor/CMakeLists.txt b/ModulithEditor/CMakeLists.txt new file mode 100644 index 0000000..df25885 --- /dev/null +++ b/ModulithEditor/CMakeLists.txt @@ -0,0 +1,13 @@ +add_executable(ModulithEditor) + +target_sources(ModulithEditor + PRIVATE + src/main.cpp +) + +target_link_libraries(ModulithEditor + PRIVATE + ModulithEngine +) + +target_compile_features(ModulithEditor PRIVATE cxx_std_20) \ No newline at end of file diff --git a/ModulithEditor/src/main.cpp b/ModulithEditor/src/main.cpp new file mode 100644 index 0000000..ad49ba8 --- /dev/null +++ b/ModulithEditor/src/main.cpp @@ -0,0 +1,6 @@ +#include + +int main() { + std::cout << "Hello World!" << std::endl; + return 0; +} \ No newline at end of file diff --git a/ModulithEngine/CMakeLists.txt b/ModulithEngine/CMakeLists.txt new file mode 100644 index 0000000..2fc2944 --- /dev/null +++ b/ModulithEngine/CMakeLists.txt @@ -0,0 +1,14 @@ +add_library(ModulithEngine STATIC) + +target_sources(ModulithEngine + PRIVATE + src/Engine.cpp + # add more cpp files here +) + +target_include_directories(ModulithEngine + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/include +) + +target_compile_features(ModulithEngine PUBLIC cxx_std_20) \ No newline at end of file diff --git a/ModulithEngine/src/Engine.cpp b/ModulithEngine/src/Engine.cpp new file mode 100644 index 0000000..e69de29