From 026026df6c4b63155f400c7d17f84b57e8df40f2 Mon Sep 17 00:00:00 2001 From: PlexSheep Date: Thu, 12 Oct 2023 22:36:55 +0200 Subject: [PATCH] idk what I'm doing pls help --- .gitignore | 2 + CMakeLists.txt | 14 ++++++ build.sh | 4 ++ src/glsl-basic.cpp | 120 +++++++++++++++++++++++++++++++++++++++++++++ src/glsl-basic.h | 14 ++++++ src/main.cpp | 12 +++++ 6 files changed, 166 insertions(+) create mode 100644 .gitignore create mode 100644 CMakeLists.txt create mode 100644 build.sh create mode 100644 src/glsl-basic.cpp create mode 100644 src/glsl-basic.h create mode 100644 src/main.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6e0aba9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +CMakeFiles +CMakeCache.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..e39c611 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.15) +project(glsl-basic CXX) + + + +add_executable(glsl-basic src/glsl-basic.cpp src/main.cpp) + + + +install(TARGETS glsl-basic DESTINATION "." + RUNTIME DESTINATION bin + ARCHIVE DESTINATION lib + LIBRARY DESTINATION lib + ) diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..9bc0da9 --- /dev/null +++ b/build.sh @@ -0,0 +1,4 @@ +#!/bin/bash +conan install . --build missing --output-folder build +cmake --preset conan-release +cmake --build conan-release diff --git a/src/glsl-basic.cpp b/src/glsl-basic.cpp new file mode 100644 index 0000000..fe2e77c --- /dev/null +++ b/src/glsl-basic.cpp @@ -0,0 +1,120 @@ +#include +#include "glsl-basic.h" + + + +void glsl_basic(){ + + + #ifdef NDEBUG + std::cout << "glsl-basic/0.1.0: Hello World Release!\n"; + #else + std::cout << "glsl-basic/0.1.0: Hello World Debug!\n"; + #endif + + // ARCHITECTURES + #ifdef _M_X64 + std::cout << " glsl-basic/0.1.0: _M_X64 defined\n"; + #endif + + #ifdef _M_IX86 + std::cout << " glsl-basic/0.1.0: _M_IX86 defined\n"; + #endif + + #ifdef _M_ARM64 + std::cout << " glsl-basic/0.1.0: _M_ARM64 defined\n"; + #endif + + #if __i386__ + std::cout << " glsl-basic/0.1.0: __i386__ defined\n"; + #endif + + #if __x86_64__ + std::cout << " glsl-basic/0.1.0: __x86_64__ defined\n"; + #endif + + #if __aarch64__ + std::cout << " glsl-basic/0.1.0: __aarch64__ defined\n"; + #endif + + // Libstdc++ + #if defined _GLIBCXX_USE_CXX11_ABI + std::cout << " glsl-basic/0.1.0: _GLIBCXX_USE_CXX11_ABI "<< _GLIBCXX_USE_CXX11_ABI << "\n"; + #endif + + // MSVC runtime + #if defined(_DEBUG) + #if defined(_MT) && defined(_DLL) + std::cout << " glsl-basic/0.1.0: MSVC runtime: MultiThreadedDebugDLL\n"; + #elif defined(_MT) + std::cout << " glsl-basic/0.1.0: MSVC runtime: MultiThreadedDebug\n"; + #endif + #else + #if defined(_MT) && defined(_DLL) + std::cout << " glsl-basic/0.1.0: MSVC runtime: MultiThreadedDLL\n"; + #elif defined(_MT) + std::cout << " glsl-basic/0.1.0: MSVC runtime: MultiThreaded\n"; + #endif + #endif + + // COMPILER VERSIONS + #if _MSC_VER + std::cout << " glsl-basic/0.1.0: _MSC_VER" << _MSC_VER<< "\n"; + #endif + + #if _MSVC_LANG + std::cout << " glsl-basic/0.1.0: _MSVC_LANG" << _MSVC_LANG<< "\n"; + #endif + + #if __cplusplus + std::cout << " glsl-basic/0.1.0: __cplusplus" << __cplusplus<< "\n"; + #endif + + #if __INTEL_COMPILER + std::cout << " glsl-basic/0.1.0: __INTEL_COMPILER" << __INTEL_COMPILER<< "\n"; + #endif + + #if __GNUC__ + std::cout << " glsl-basic/0.1.0: __GNUC__" << __GNUC__<< "\n"; + #endif + + #if __GNUC_MINOR__ + std::cout << " glsl-basic/0.1.0: __GNUC_MINOR__" << __GNUC_MINOR__<< "\n"; + #endif + + #if __clang_major__ + std::cout << " glsl-basic/0.1.0: __clang_major__" << __clang_major__<< "\n"; + #endif + + #if __clang_minor__ + std::cout << " glsl-basic/0.1.0: __clang_minor__" << __clang_minor__<< "\n"; + #endif + + #if __apple_build_version__ + std::cout << " glsl-basic/0.1.0: __apple_build_version__" << __apple_build_version__<< "\n"; + #endif + + // SUBSYSTEMS + + #if __MSYS__ + std::cout << " glsl-basic/0.1.0: __MSYS__" << __MSYS__<< "\n"; + #endif + + #if __MINGW32__ + std::cout << " glsl-basic/0.1.0: __MINGW32__" << __MINGW32__<< "\n"; + #endif + + #if __MINGW64__ + std::cout << " glsl-basic/0.1.0: __MINGW64__" << __MINGW64__<< "\n"; + #endif + + #if __CYGWIN__ + std::cout << " glsl-basic/0.1.0: __CYGWIN__" << __CYGWIN__<< "\n"; + #endif +} + +void glsl_basic_print_vector(const std::vector &strings) { + for(std::vector::const_iterator it = strings.begin(); it != strings.end(); ++it) { + std::cout << "glsl_basic/0.1.0 " << *it << std::endl; + } +} diff --git a/src/glsl-basic.h b/src/glsl-basic.h new file mode 100644 index 0000000..2d61bb6 --- /dev/null +++ b/src/glsl-basic.h @@ -0,0 +1,14 @@ +#pragma once + +#include +#include + + +#ifdef _WIN32 + #define GLSL_BASIC_EXPORT __declspec(dllexport) +#else + #define GLSL_BASIC_EXPORT +#endif + +GLSL_BASIC_EXPORT void glsl_basic(); +GLSL_BASIC_EXPORT void glsl_basic_print_vector(const std::vector &strings); diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..32c2c97 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,12 @@ +#include "glsl-basic.h" +#include +#include + +int main() { + glsl_basic(); + + std::vector vec; + vec.push_back("test_package"); + + glsl_basic_print_vector(vec); +}