Files
tinyusdz/examples/openglviewer/CMakeLists.txt
Syoyo Fujita 59730db074 Update README.
Update build script.
2020-04-15 14:08:53 +09:00

87 lines
2.1 KiB
CMake

# Assume this project is a root project
cmake_minimum_required(VERSION 3.5.1)
project(${BUILD_TARGET} C CXX)
set(BUILD_TARGET "openglviewer")
set(CMAKE_CXX_STANDARD 11)
find_package(OpenGL REQUIRED)
if(WIN32)
# nothing.
elseif(APPLE)
find_library(COCOA Cocoa REQUIRED)
else()
find_package(X11 REQUIRED)
endif()
set(SOURCES
main.cc
#render.cc
#render-config.cc
# tinyusdz
../../src/tinyusdz.cc
../../src/integerCoding.cpp
../../src/pxrLZ4/lz4.cpp
../../src/lz4-compression.cc
)
set(GUI_SOURCES
../common/trackball.cc
../common/matrix.cc
../common/imgui/imgui.cpp
../common/imgui/imgui_draw.cpp
../common/imgui/imgui_widgets.cpp
../common/imgui/imgui_impl_glfw.cpp
../common/glad/src/glad.c
)
# local [glfw3]
set(GLFW_BUILD_EXAMPLES OFF CACHE INTERNAL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE INTERNAL "" FORCE)
set(GLFW_BUILD_DOCS OFF CACHE INTERNAL "" FORCE)
set(GLFW_INSTALL OFF CACHE INTERNAL "" FORCE)
#option(GLFW_VULKAN_STATIC "Assume the Vulkan loader is linked with the application" OFF)
add_subdirectory("${CMAKE_SOURCE_DIR}/../common/glfw-3.3.2" glfw-3.3.2)
add_executable(${BUILD_TARGET} ${SOURCES} ${GUI_SOURCES})
# local glad
target_include_directories(${BUILD_TARGET} PRIVATE "${PROJECT_SOURCE_DIR}/../common/glad/include")
target_include_directories(${BUILD_TARGET} PUBLIC ${OPENGL_INCLUDE_DIR})
if (UNIX)
target_include_directories(${BUILD_TARGET} PUBLIC ${X11_INCLUDE_DIR})
endif()
target_include_directories(${BUILD_TARGET} PRIVATE "${PROJECT_SOURCE_DIR}/../common")
target_include_directories(${BUILD_TARGET} PRIVATE "${PROJECT_SOURCE_DIR}/../common/imgui")
target_link_libraries(
${BUILD_TARGET}
${OPENGL_LIBRARIES}
glfw
${CMAKE_DL_LIBS}
)
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})