include(${PROJECT_SOURCE_DIR}/GUI/OpenGL/CMakeLists.txt) if (USE_IMGUI) include(${PROJECT_SOURCE_DIR}/GUI/imgui/CMakeLists.txt) set(VIEWER_LINK_LIBRARIES imgui SPlisHSPlasH) set(VIEWER_DEPENDENCIES imgui SPlisHSPlasH CopySPlisHSPlasHShaders CopyImguiFonts) set(GUI_SOURCE_FILES GUI/imgui/PartioViewer_GUI_imgui.cpp ) set(GUI_HEADER_FILES GUI/imgui/PartioViewer_GUI_imgui.h ) source_group("Header Files\\GUI\\imgui" FILES ${GUI_HEADER_FILES}) source_group("Source Files\\GUI\\imgui" FILES ${GUI_SOURCE_FILES}) else() include(${PROJECT_SOURCE_DIR}/GUI/TweakBar/CMakeLists.txt) set(VIEWER_LINK_LIBRARIES AntTweakBar glfw SPlisHSPlasH) set(VIEWER_DEPENDENCIES AntTweakBar glfw SPlisHSPlasH CopySPlisHSPlasHShaders) set(GUI_SOURCE_FILES GUI/TweakBar/PartioViewer_GUI_TweakBar.cpp ) set(GUI_HEADER_FILES GUI/TweakBar/PartioViewer_GUI_TweakBar.h ) source_group("Header Files\\GUI\\TweakBar" FILES ${GUI_HEADER_FILES}) source_group("Source Files\\GUI\\TweakBar" FILES ${GUI_SOURCE_FILES}) endif() if(WIN32) set(VIEWER_LINK_LIBRARIES opengl32.lib glu32.lib ${VIEWER_LINK_LIBRARIES}) set(VIEWER_DEPENDENCIES ${VIEWER_DEPENDENCIES}) else() set(OpenGL_GL_PREFERENCE GLVND) find_package(OpenGL REQUIRED) include_directories( ${OPENGL_INCLUDE_DIRS}) set(VIEWER_LINK_LIBRARIES ${VIEWER_LINK_LIBRARIES} ${OPENGL_LIBRARIES} ) endif() add_executable(PartioViewer main.cpp PartioViewer.cpp PartioViewer.h GUI/OpenGL/PartioViewer_OpenGL.cpp GUI/OpenGL/PartioViewer_OpenGL.h GUI/PartioViewer_GUI_Base.h ${GUI_SOURCE_FILES} ${GUI_HEADER_FILES} ${PROJECT_SOURCE_DIR}/extern/toojpeg/toojpeg.cpp ${PROJECT_SOURCE_DIR}/extern/toojpeg/toojpeg.h ${VIS_FILES} ${GUI_FILES} ) if (NOT USE_IMGUI) target_compile_definitions(PartioViewer PRIVATE -DTW_NO_LIB_PRAGMA -DTW_STATIC) else() target_compile_definitions(PartioViewer PUBLIC -DUSE_IMGUI) endif() add_dependencies(PartioViewer ${VIEWER_DEPENDENCIES}) target_link_libraries(PartioViewer ${VIEWER_LINK_LIBRARIES}) VIS_SOURCE_GROUPS() GUI_SOURCE_GROUPS() set_target_properties(PartioViewer PROPERTIES FOLDER "Tools") set_target_properties(PartioViewer PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}) set_target_properties(PartioViewer PROPERTIES RELWITHDEBINFO_POSTFIX ${CMAKE_RELWITHDEBINFO_POSTFIX}) set_target_properties(PartioViewer PROPERTIES MINSIZEREL_POSTFIX ${CMAKE_MINSIZEREL_POSTFIX}) source_group("Header Files\\GUI" FILES GUI/PartioViewer_GUI_Base.h) source_group("Header Files\\GUI\\OpenGL" FILES GUI/OpenGL/PartioViewer_OpenGL.h) source_group("Source Files\\GUI\\OpenGL" FILES GUI/OpenGL/PartioViewer_OpenGL.cpp)