cmake_minimum_required(VERSION 3.27) project(HelloGLEW) # Define platform-specific paths and libraries if(WIN32) # GLFW set(GLFW_PATH "C:/libs/glfw-3.3.8.bin.WIN64") 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.") endif() 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()