cmake_minimum_required(VERSION 3.5.1) set(BUILD_TARGET "viewer") find_package(OpenGL REQUIRED) find_package(Threads REQUIRED) if(WIN32) # nothing. elseif(APPLE) find_library(COCOA Cocoa REQUIRED) else() find_package(X11 REQUIRED) endif() set(SOURCES main.cc imgui.cpp imgui_draw.cpp imgui_impl_btgui.cpp ) if(WIN32) set(SOURCES ${SOURCES} OpenGLWindow/Win32OpenGLWindow.cpp OpenGLWindow/Win32Window.cpp ) elseif(APPLE) set(SOURCES ${SOURCES} OpenGLWindow/MacOpenGLWindow.mm) else() set(SOURCES ${SOURCES} OpenGLWindow/X11OpenGLWindow.cpp) endif() set(SOURCES ${SOURCES} ThirdPartyLibs/Glew/glew.c) add_executable(${BUILD_TARGET} ${SOURCES}) target_include_directories(${BUILD_TARGET} PRIVATE ${OPENGL_INCLUDE_DIR}) target_include_directories(${BUILD_TARGET} PRIVATE ${X11_INCLUDE_DIR}) target_include_directories(${BUILD_TARGET} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../) target_include_directories(${BUILD_TARGET} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) # local Glew target_include_directories(${BUILD_TARGET} PRIVATE "${CMAKE_SOURCE_DIR}/ThirdPartyLibs/Glew") target_compile_definitions(${BUILD_TARGET} PRIVATE GLEW_STATIC) target_link_libraries( ${BUILD_TARGET} ${OPENGL_LIBRARIES} Threads::Threads ) if(WIN32) # nothing. elseif(APPLE) target_link_libraries( ${BUILD_TARGET} ${COCOA} ) else() target_link_libraries( ${BUILD_TARGET} ${X11_LIBRARIES} ) endif() source_group("Source Files" FILES ${SOURCES})