cmake_minimum_required(VERSION 3.13) project(ProjectBrussel LANGUAGES C CXX) find_package(OpenGL REQUIRED) add_subdirectory(3rdparty/glad) add_subdirectory(3rdparty/glfw) add_subdirectory(3rdparty/glm) add_subdirectory(3rdparty/imgui) add_subdirectory(3rdparty/stb) add_executable(${PROJECT_NAME} # add_executable requires at least one source file source/main.cpp ) add_subdirectory(source) target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_20) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF UNITY_BUILD_MODE BATCH UNITY_BUILD_UNIQUE_ID "${PROJECT_NAME}_UNITY_ID" ) target_include_directories(${PROJECT_NAME} PRIVATE sources/) target_link_libraries(${PROJECT_NAME} PRIVATE OpenGL::GL glad glfw glm::glm imgui stb )