98 lines
4.0 KiB
CMake
98 lines
4.0 KiB
CMake
######################
|
|
# The Expression app #
|
|
######################
|
|
set(APP_SRCS
|
|
ExpressionApp.cpp
|
|
MeshRenderer.cpp MeshRenderer.h
|
|
DirectoryIterator.cpp DirectoryIterator.h
|
|
BackEndOpenGL/GLMaterial.cpp BackEndOpenGL/GLMaterial.h
|
|
BackEndOpenGL/GLMesh.cpp BackEndOpenGL/GLMesh.h
|
|
BackEndOpenGL/GLShaders.cpp BackEndOpenGL/GLShaders.h
|
|
BackEndOpenGL/GLSpectrum.h
|
|
BackEndOpenGL/SimpleFaceModel.h
|
|
BackEndOpenGL/OpenGLMeshRenderer.cpp BackEndOpenGL/OpenGLMeshRenderer.h
|
|
BackEndOpenGL/FaceIO.cpp BackEndOpenGL/FaceIO.h
|
|
)
|
|
if(WIN32)
|
|
set(APP_SRCS ${APP_SRCS} nvARProxy.cpp nvCVImageProxy.cpp)
|
|
find_package(OpenGL REQUIRED)
|
|
endif(WIN32)
|
|
|
|
option(ENABLE_UI "Enable UI to adjust rigging" OFF) # ON still needs some more link debugging
|
|
|
|
if (${ENABLE_UI})
|
|
set(APP_SRCS ${APP_SRCS}
|
|
ExpressionAppUI.h
|
|
ExpressionAppUI.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/imgui.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/imconfig.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/imgui_internal.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/imstb_textedit.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/imstb_rectpack.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/imstb_truetype.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/backends/imgui_impl_glfw.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/backends/imgui_impl_opengl3.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/backends/imgui_impl_opengl3_loader.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/misc/cpp/imgui_stdlib.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/imgui_tables.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/imgui_widgets.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/imgui.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/imgui_draw.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/backends/imgui_impl_glfw.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/backends/imgui_impl_opengl3.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking/misc/cpp/imgui_stdlib.cpp
|
|
)
|
|
endif (${ENABLE_UI})
|
|
|
|
add_executable(ExpressionApp ${APP_SRCS})
|
|
|
|
target_include_directories(ExpressionApp PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/BackEndOpenGL
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../utils
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/glm/include
|
|
${SDK_INCLUDES_PATH}
|
|
)
|
|
if (${ENABLE_UI})
|
|
add_definitions("-D_ENABLE_UI")
|
|
target_include_directories(ExpressionApp PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Imgui/imgui-docking
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/nlohmann/json/single_include/nlohmann
|
|
)
|
|
endif (${ENABLE_UI})
|
|
|
|
if(WIN32)
|
|
target_link_libraries(ExpressionApp PUBLIC
|
|
opencv346
|
|
glfw3
|
|
GLAD
|
|
${OPENGL_gl_LIBRARY}
|
|
)
|
|
target_link_directories(ExpressionApp PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/GLAD/lib
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/GLFW/lib
|
|
)
|
|
target_include_directories(ExpressionApp PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/GLAD/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/GLFW/include
|
|
)
|
|
set(OPENCV_PATH_STR ${CMAKE_CURRENT_SOURCE_DIR}/../external/opencv/bin)
|
|
set(PATH_STR "PATH=%PATH%" ${OPENCV_PATH_STR})
|
|
set_target_properties(ExpressionApp PROPERTIES
|
|
FOLDER SampleApps
|
|
VS_DEBUGGER_ENVIRONMENT "${PATH_STR}"
|
|
VS_DEBUGGER_COMMAND_ARGUMENTS "${CMD_ARG_STR}" )
|
|
elseif(UNIX)
|
|
#find_package(PNG REQUIRED)
|
|
#find_package(JPEG REQUIRED)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -fpermissive")
|
|
target_link_libraries(ExpressionApp PUBLIC
|
|
nvARPose
|
|
NVCVImage
|
|
OpenCV
|
|
glfw
|
|
OpenGL
|
|
dl
|
|
)
|
|
endif()
|