This commit is contained in:
maelstrom 2025-06-08 15:53:08 +02:00
parent 0ab700c995
commit 010679c38a
8 changed files with 53 additions and 7 deletions

View file

@ -38,10 +38,12 @@ Now, generate the build files with cmake via the vcpkg preset:
cmake -Bbuild . --preset vcpkg
Then, finally, build in release mode:
Then, finally, build in release mode\*:
cmake --build build --config Release
The compiled binaries should then be placed in `./build/bin/` and should be ready for redistribution without any further work.
If any of the compilation steps fail, or the binaries fail to execute, please create an issue so that this can be corrected.
If any of the compilation steps fail, or the binaries fail to execute, please create an issue so that this can be corrected.
\* Release mode is necessary as debug mode copies DLLs that are not linked to the output binary

View file

@ -4,7 +4,7 @@ project(openblocks VERSION 0.1.0)
set(OpenGL_GL_PREFERENCE "GLVND")
if (MSVC)
add_compile_options(/W4 /WX)
add_compile_options(/W4)
else()
add_compile_options(-Wall -Wextra -pedantic -Wno-unused-parameter)
endif()

View file

@ -27,7 +27,7 @@ int processHeader(fs::path srcRoot, fs::path srcPath, fs::path outPath) {
std::string srcPathStr = string_of(srcPath);
std::string outPathStr = string_of(outPath);
const char* cargs[] = { "-x", "c++", "-I", srcRootStr.c_str(), "-D__AUTOGEN__", 0 };
const char* cargs[] = { "-xc++", "-std=c++17", "-I", srcRootStr.c_str(), "-D__AUTOGEN__", 0 };
// THANK YOU SO MUCH THIS STACKOVERFLOW ANSWER IS SO HELPFUL
// https://stackoverflow.com/a/59206378/16255372
CXIndex index = clang_createIndex(0, 0);

42
cmake/FindClang.cmake Normal file
View file

@ -0,0 +1,42 @@
# Modified from QGIS' FindQScintilla.cmake by Thomas Moenicke, Larry Schaffer
add_library(Clang::Clang UNKNOWN IMPORTED)
FIND_PATH(CLANG_INCLUDE_DIR
NAMES clang-c/Index.h
PATHS
$ENV{LIB_DIR}/include
/usr/local/include
/usr/include
${VCPKG_INSTALLED_DIR}/x64-windows/include
"C:/Program Files/LLVM/include"
PATH_SUFFIXES ${CLANG_PATH_SUFFIXES}
)
set(CLANG_LIBRARY_NAMES
libclang
clang
)
find_library(CLANG_LIBRARY
NAMES ${CLANG_LIBRARY_NAMES}
PATHS
$ENV{LIB_DIR}/lib
/usr/local/lib
/usr/lib
${VCPKG_INSTALLED_DIR}/x64-windows/lib
"C:/Program Files/LLVM/lib"
)
get_filename_component(CLANG_LIB_DIR ${CLANG_LIBRARY} DIRECTORY)
list(TRANSFORM CLANG_LIBRARY_NAMES APPEND ".dll" OUTPUT_VARIABLE CLANG_DLL_NAMES)
find_file(CLANG_DLLS
NAMES ${CLANG_DLL_NAMES}
PATHS
$ENV{LIB_DIR}/bin
/usr/local/bin
/usr/bin
${VCPKG_INSTALLED_DIR}/x64-windows/bin
"C:/Program Files/LLVM/bin"
)

View file

@ -29,7 +29,7 @@ foreach (SRC ${AUTOGEN_SOURCES})
OUTPUT "${OUT_PATH}"
DEPENDS autogen
DEPENDS "${SRC_PATH}"
COMMAND "${CMAKE_BINARY_DIR}/autogen/autogen" "${CMAKE_CURRENT_SOURCE_DIR}/src" "${SRC_PATH}" "${OUT_PATH}"
COMMAND "$<TARGET_FILE:autogen>" "${CMAKE_CURRENT_SOURCE_DIR}/src" "${SRC_PATH}" "${OUT_PATH}"
)
list(APPEND AUTOGEN_OUTS "${OUT_PATH}")

View file

@ -4,6 +4,7 @@
#include <pugixml.hpp>
#include <sstream>
#include <iomanip>
#include <algorithm>
Color3::Color3(float r, float g, float b) : r(std::clamp(r, 0.f, 1.f)), g(std::clamp(g, 0.f, 1.f)), b(std::clamp(b, 0.f, 1.f)) {};
Color3::Color3(const glm::vec3& vec) : r(std::clamp(vec.x, 0.f, 1.f)), g(std::clamp(vec.y, 0.f, 1.f)), b(std::clamp(vec.z, 0.f, 1.f)) {};

View file

@ -5,8 +5,9 @@
#include "error/data.h"
#include <glm/ext/vector_float3.hpp>
#include <glm/geometric.hpp>
#include <reactphysics3d/mathematics/Vector3.h>
namespace reactphysics3d { class Vector3; };
// namespace reactphysics3d { class Vector3; };
class DEF_DATA Vector3 {
AUTOGEN_PREAMBLE_DATA

View file

@ -73,7 +73,7 @@ MainWindow::MainWindow(QWidget *parent)
if (isDarkMode())
QIcon::setFallbackThemeName("editor-dark");
else
QIcon::setFallbackThemeName("editor");
QIcon::setThemeName("editor");
// qApp->setStyle(QStyleFactory::create("fusion"));
defaultMessageHandler = qInstallMessageHandler(logQtMessage);