2023-04-27 14:31:06 +03:00
|
|
|
cmake_minimum_required(VERSION 3.13..3.18)
|
|
|
|
|
project(grbl_sender
|
|
|
|
|
DESCRIPTION "GRBLSender"
|
|
|
|
|
LANGUAGES CXX C
|
|
|
|
|
VERSION "1.0"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Disable building extras we won't need (pure C++ project)
|
|
|
|
|
set(NANOGUI_BUILD_EXAMPLE OFF CACHE BOOL " " FORCE)
|
|
|
|
|
set(NANOGUI_BUILD_PYTHON OFF CACHE BOOL " " FORCE)
|
|
|
|
|
set(NANOGUI_INSTALL OFF CACHE BOOL " " FORCE)
|
|
|
|
|
|
|
|
|
|
# Add the configurations from nanogui
|
|
|
|
|
add_subdirectory(libs/nanogui)
|
|
|
|
|
add_subdirectory(libs/gtest)
|
2023-05-03 12:41:54 +03:00
|
|
|
add_subdirectory(libs/glm)
|
2023-04-27 14:31:06 +03:00
|
|
|
include_directories(libs/gtest/googletest/include)
|
2023-05-03 12:41:54 +03:00
|
|
|
include_directories(libs/glm)
|
2023-04-27 14:31:06 +03:00
|
|
|
|
|
|
|
|
# For reliability of parallel build, make the NanoGUI targets dependencies
|
|
|
|
|
set_property(TARGET glfw glfw_objects nanogui PROPERTY FOLDER "dependencies")
|
|
|
|
|
|
|
|
|
|
# Use C++17, visibility=hidden by default, interprocedural optimization
|
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
|
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
|
|
|
|
|
|
|
|
|
|
2023-05-09 14:30:39 +03:00
|
|
|
add_executable(sender main.cpp grbl.h grbl.cpp grbl_test.cpp grbl_communication.h grbl_communication.cpp grbl_machine.h grbl_machine.cpp string_utils.h render.h render.cpp heightmap.h heightmap.cpp)
|
2023-05-03 12:41:54 +03:00
|
|
|
target_link_libraries(sender nanogui GL gtest gtest_main)
|