49 lines
1.1 KiB
CMake
49 lines
1.1 KiB
CMake
# MIT License
|
|
# Author: Mark Allyn
|
|
#
|
|
# shader_experiments/basic_triangle/CMakeLists.txt
|
|
#
|
|
# Build:
|
|
# mkdir -p build && cd build
|
|
# cmake .. && make -j$(nproc)
|
|
# ./basic_triangle
|
|
|
|
cmake_minimum_required(VERSION 3.16)
|
|
project(basic_triangle LANGUAGES C CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
find_package(OpenGL REQUIRED)
|
|
|
|
find_package(PkgConfig QUIET)
|
|
if(PkgConfig_FOUND)
|
|
pkg_check_modules(GLFW glfw3)
|
|
endif()
|
|
if(NOT GLFW_FOUND)
|
|
find_library(GLFW_LIBRARIES NAMES glfw glfw3 REQUIRED)
|
|
find_path(GLFW_INCLUDE_DIRS GLFW/glfw3.h REQUIRED)
|
|
endif()
|
|
|
|
# Reuse the GLAD sources from the parent project
|
|
set(GLAD_SRC ${CMAKE_SOURCE_DIR}/../../glad/src/glad.c)
|
|
set(GLAD_INC ${CMAKE_SOURCE_DIR}/../../include)
|
|
|
|
add_executable(basic_triangle main.cpp ${GLAD_SRC})
|
|
|
|
target_include_directories(basic_triangle PRIVATE
|
|
${GLAD_INC}
|
|
${GLFW_INCLUDE_DIRS}
|
|
)
|
|
|
|
target_link_libraries(basic_triangle PRIVATE
|
|
OpenGL::GL
|
|
${GLFW_LIBRARIES}
|
|
)
|
|
|
|
target_compile_options(basic_triangle PRIVATE
|
|
-Wall -Wextra -Wpedantic
|
|
-Wno-unused-parameter
|
|
)
|