skein/CMakeLists.txt

40 lines
1.2 KiB
CMake
Raw Normal View History

2023-07-23 16:46:30 +02:00
cmake_minimum_required(VERSION 3.27)
2023-07-24 23:31:58 +02:00
project(HelloGLEW)
2023-07-23 16:46:30 +02:00
2023-07-23 17:46:53 +02:00
# Define platform-specific paths and libraries
if(WIN32)
2023-07-23 18:21:44 +02:00
# GLFW
2023-07-23 17:46:53 +02:00
set(GLFW_PATH "C:/libs/glfw-3.3.8.bin.WIN64")
include_directories(${GLFW_PATH}/include)
link_directories(${GLFW_PATH}/lib-vc2022)
2023-07-23 18:21:44 +02:00
2023-07-24 23:31:58 +02:00
# GLEW
set(GLEW_PATH "C:/libs/glew-2.2.0")
include_directories(${GLEW_PATH}/include)
link_directories(${GLEW_PATH}/lib)
2023-07-23 18:21:44 +02:00
# OpenGL
find_package(OpenGL REQUIRED)
2023-07-24 23:15:49 +02:00
elseif(UNIX)
find_package(PkgConfig REQUIRED)
pkg_search_module(GLFW REQUIRED glfw3)
2023-07-24 23:31:58 +02:00
find_package(GLEW REQUIRED)
2023-07-24 23:15:49 +02:00
find_package(OpenGL REQUIRED)
elseif(APPLE)
2023-07-23 17:46:53 +02:00
message(FATAL_ERROR "Linux and macOS platforms are not supported yet.")
endif()
2023-07-23 16:46:30 +02:00
2023-07-23 17:46:53 +02:00
add_executable(${PROJECT_NAME} hello.cpp)
if(WIN32)
target_link_libraries(${PROJECT_NAME} glfw3)
2023-07-24 23:31:58 +02:00
target_link_libraries(${PROJECT_NAME} glew)
target_include_directories(${PROJECT_NAME} PRIVATE ${GLEW_INCLUDE_DIRS})
2023-07-23 18:21:44 +02:00
target_link_libraries(${PROJECT_NAME} OpenGL::GL)
2023-07-24 23:15:49 +02:00
elseif(UNIX)
include_directories(${GLFW_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} ${GLFW_LIBRARIES})
2023-07-24 23:31:58 +02:00
target_link_libraries(${PROJECT_NAME} GLEW::GLEW)
2023-07-24 23:15:49 +02:00
target_link_libraries(${PROJECT_NAME} OpenGL::GL)
endif()