feat: include glew on linux

This commit is contained in:
ktyl 2023-07-24 22:31:58 +01:00
parent 4cbe93321d
commit 3944a76d6d
2 changed files with 21 additions and 2 deletions

View File

@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.27)
project(HelloOpenGL)
project(HelloGLEW)
# Define platform-specific paths and libraries
if(WIN32)
@ -8,11 +8,17 @@ if(WIN32)
include_directories(${GLFW_PATH}/include)
link_directories(${GLFW_PATH}/lib-vc2022)
# GLEW
set(GLEW_PATH "C:/libs/glew-2.2.0")
include_directories(${GLEW_PATH}/include)
link_directories(${GLEW_PATH}/lib)
# OpenGL
find_package(OpenGL REQUIRED)
elseif(UNIX)
find_package(PkgConfig REQUIRED)
pkg_search_module(GLFW REQUIRED glfw3)
find_package(GLEW REQUIRED)
find_package(OpenGL REQUIRED)
elseif(APPLE)
message(FATAL_ERROR "Linux and macOS platforms are not supported yet.")
@ -22,9 +28,12 @@ add_executable(${PROJECT_NAME} hello.cpp)
if(WIN32)
target_link_libraries(${PROJECT_NAME} glfw3)
target_link_libraries(${PROJECT_NAME} glew)
target_include_directories(${PROJECT_NAME} PRIVATE ${GLEW_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} OpenGL::GL)
elseif(UNIX)
include_directories(${GLFW_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} ${GLFW_LIBRARIES})
target_link_libraries(${PROJECT_NAME} GLEW::GLEW)
target_link_libraries(${PROJECT_NAME} OpenGL::GL)
endif()

View File

@ -24,15 +24,18 @@
// To compile on Arch Linux
//
// Install dependencies
// sudo pacman -S glfw mesa
// sudo pacman -S glfw mesa glew
//
// Build
// cmake ..
// cmake --build .
#include <GL/glew.h>
#include <GLFW/glfw3.h>
#include <GL/gl.h>
#include <iostream>
int main()
{
if (!glfwInit())
@ -47,6 +50,13 @@ int main()
glfwMakeContextCurrent(window);
glewExperimental = GL_TRUE;
if (glewInit() != GLEW_OK)
{
std::cerr << "Failed to initialize GLEW" << std::endl;
return -1;
}
while (!glfwWindowShouldClose(window))
{
glClearColor(1.0f, 0.0f, 0.0f, 1.0f);