diff --git a/CMakeSettings.json b/CMakeSettings.json new file mode 100644 index 0000000..b4a44a2 --- /dev/null +++ b/CMakeSettings.json @@ -0,0 +1,41 @@ +{ + // See https://go.microsoft.com//fwlink//?linkid=834763 for more information about this file. + "configurations": [ + { + "name": "x86-Debug", + "generator": "Visual Studio 15 2017", + "configurationType" : "Debug", + "buildRoot": "${env.LOCALAPPDATA}\\CMakeBuild\\${workspaceHash}\\build\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "-m -v:minimal", + "ctestCommandArgs": "" + }, + { + "name": "x86-Release", + "generator": "Visual Studio 15 2017", + "configurationType" : "Release", + "buildRoot": "${env.LOCALAPPDATA}\\CMakeBuild\\${workspaceHash}\\build\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "-m -v:minimal", + "ctestCommandArgs": "" + }, + { + "name": "x64-Debug", + "generator": "Visual Studio 15 2017 Win64", + "configurationType" : "Debug", + "buildRoot": "${env.LOCALAPPDATA}\\CMakeBuild\\${workspaceHash}\\build\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "-m -v:minimal", + "ctestCommandArgs": "" + }, + { + "name": "x64-Release", + "generator": "Visual Studio 15 2017 Win64", + "configurationType" : "Release", + "buildRoot": "${env.LOCALAPPDATA}\\CMakeBuild\\${workspaceHash}\\build\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "-m -v:minimal", + "ctestCommandArgs": "" + } + ] +} \ No newline at end of file diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 0000000..2cb3d57 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(smoke) diff --git a/tests/smoke/CMakeLists.txt b/tests/smoke/CMakeLists.txt new file mode 100644 index 0000000..967165d --- /dev/null +++ b/tests/smoke/CMakeLists.txt @@ -0,0 +1,2 @@ +project (smoke_tests) +add_subdirectory(hello_cube) diff --git a/tests/smoke/hello_cube/CMakeLists.txt b/tests/smoke/hello_cube/CMakeLists.txt new file mode 100644 index 0000000..8f9385f --- /dev/null +++ b/tests/smoke/hello_cube/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required (VERSION 3.14) +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +if (WIN32) + add_executable(kraken_cube WIN32 main.cpp) + add_compile_definitions(UNICODE) +else(WIN32) + add_executable(kraken_cube main.cpp) + set(CMAKE_CXX_COMPILER "clang++") +endif(WIN32) + +target_include_directories(kraken_cube PRIVATE ${CMAKE_SOURCE_DIR}/hydra/include ${CMAKE_SOURCE_DIR}/kraken/public) + +TARGET_LINK_LIBRARIES( kraken_cube kraken ${EXTRA_LIBS} ) + diff --git a/tests/smoke/hello_cube/main.cpp b/tests/smoke/hello_cube/main.cpp new file mode 100644 index 0000000..815c6ea --- /dev/null +++ b/tests/smoke/hello_cube/main.cpp @@ -0,0 +1,44 @@ +#include +#include "kraken.h" + +using namespace kraken; + +LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); + +int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) +{ + MSG msg = { 0 }; + WNDCLASS wc = { 0 }; + wc.lpfnWndProc = WndProc; + wc.hInstance = hInstance; + wc.hbrBackground = (HBRUSH)(COLOR_BACKGROUND); + wc.lpszClassName = L"krakensmoke"; + if (!RegisterClass(&wc)) + return 1; + + if (!CreateWindow(wc.lpszClassName, + L"Kraken Smoke: Cube", + WS_OVERLAPPEDWINDOW | WS_VISIBLE, + 0, 0, 640, 480, 0, 0, hInstance, NULL)) + return 2; + + while (GetMessage(&msg, NULL, 0, 0) > 0) + DispatchMessage(&msg); + + return 0; +} + +LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + + switch (message) + { + case WM_CLOSE: + PostQuitMessage(0); + break; + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + return 0; + +}