From c42455e38abda243a572a6249391c18183085cc4 Mon Sep 17 00:00:00 2001 From: Kearwood Gilbert Date: Wed, 3 Apr 2019 00:22:16 -0700 Subject: [PATCH] WIP first smoke test --- CMakeSettings.json | 41 +++++++++++++++++++++++++ tests/CMakeLists.txt | 1 + tests/smoke/CMakeLists.txt | 2 ++ tests/smoke/hello_cube/CMakeLists.txt | 17 +++++++++++ tests/smoke/hello_cube/main.cpp | 44 +++++++++++++++++++++++++++ 5 files changed, 105 insertions(+) create mode 100644 CMakeSettings.json create mode 100644 tests/CMakeLists.txt create mode 100644 tests/smoke/CMakeLists.txt create mode 100644 tests/smoke/hello_cube/CMakeLists.txt create mode 100644 tests/smoke/hello_cube/main.cpp 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; + +}