set(COMMON_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/common/include) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/common/src COMMON_SOURCES) # GLFW nanoem_cmake_get_install_path("glfw" GLFW_BASE_PATH GLFW_INSTALL_PATH_DEBUG GLFW_INSTALL_PATH_RELEASE) find_path(GLFW_INCLUDE_DIR NAMES GLFW/glfw3.h AL/alure.h PATH_SUFFIXES include PATHS ${GLFW_INSTALL_PATH_RELEASE} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) find_library(GLFW_LIBRARY_DEBUG NAMES glfw3 PATH_SUFFIXES lib PATHS ${GLFW_INSTALL_PATH_DEBUG} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) find_library(GLFW_LIBRARY_RELEASE NAMES glfw3 PATH_SUFFIXES lib PATHS ${GLFW_INSTALL_PATH_RELEASE} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) mark_as_advanced(GLFW_BASE_PATH GLFW_INSTALL_PATH_DEBUG GLFW_INSTALL_PATH_RELEASE GLFW_LIBRARY_DEBUG GLFW_LIBRARY_RELEASE GLFW_INCLUDE_DIR) # libsoundio nanoem_cmake_get_install_path("libsoundio" SOUNDIO_BASE_PATH SOUNDIO_INSTALL_PATH_DEBUG SOUNDIO_INSTALL_PATH_RELEASE) find_path(SOUNDIO_INCLUDE_DIR NAMES soundio/soundio.h PATH_SUFFIXES include PATHS ${SOUNDIO_INSTALL_PATH_RELEASE} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) find_library(SOUNDIO_LIBRARY_DEBUG NAMES soundio PATH_SUFFIXES lib PATHS ${SOUNDIO_INSTALL_PATH_DEBUG} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) find_library(SOUNDIO_LIBRARY_RELEASE NAMES soundio PATH_SUFFIXES lib PATHS ${SOUNDIO_INSTALL_PATH_RELEASE} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) mark_as_advanced(SOUNDIO_BASE_PATH SOUNDIO_INSTALL_PATH_DEBUG SOUNDIO_INSTALL_PATH_RELEASE SOUNDIO_LIBRARY_DEBUG SOUNDIO_LIBRARY_RELEASE SOUNDIO_INCLUDE_DIR) # shaders set(glslang_common_options -D -DGLSLANG=1 --target-env vulkan1.0) set(glslang_vertex_shader_options ${glslang_common_options} -S vert -e nanoemVSMain) set(spirv_cross_common_options --remove-unused-variables) set(spirv_cross_glsl_core33_options ${spirv_cross_common_options} --no-420pack-extension --flatten-ubo --version 330) set(spirv_cross_glsl_es30_options ${spirv_cross_common_options} --no-420pack-extension --flatten-ubo --es --version 300) function(glfw_link_sentry_sdk _target) if(NANOEM_ENABLE_SENTRY_SDK) nanoem_cmake_get_install_path("sentry-native" SENTRY_NATIVE_BASE_PATH SENTRY_NATIVE_INSTALL_PATH_DEBUG SENTRY_NATIVE_INSTALL_PATH_RELEASE) find_library(SENTRY_LIBRARY_PATH sentry PATH_SUFFIXES lib PATHS ${SENTRY_NATIVE_INSTALL_PATH_RELEASE} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) find_program(SENTRY_CRASHPAD_HANDLER_PATH crashpad_handler PATH_SUFFIXES bin PATHS ${SENTRY_NATIVE_INSTALL_PATH_RELEASE} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) mark_as_advanced(SENTRY_LIBRARY_PATH SENTRY_CRASHPAD_HANDLER_PATH) set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS NANOEM_HAS_SENTRY $<$:NANOEM_SENTRY_DSN="$ENV{NANOEM_SENTRY_DSN}">) list(APPEND LIBRARY_PATHS ${SENTRY_LIBRARY_PATH}) add_custom_command(TARGET ${_target} POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "$/sentry" COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SENTRY_LIBRARY_PATH}" "$/sentry" VERBATIM) install(FILES "${SENTRY_LIBRARY_PATH}" DESTINATION sentry) if(SENTRY_CRASHPAD_HANDLER_PATH) get_filename_component(SENTRY_LIBRARY_PATH ${SENTRY_CRASHPAD_PATH} DIRECTORY) add_custom_command(TARGET ${_target} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${SENTRY_CRASHPAD_HANDLER_PATH}" "$/sentry" VERBATIM) install(FILES "${SENTRY_CRASHPAD_HANDLER_PATH}" DESTINATION sentry) endif() endif() endfunction() if(NANOEM_ENABLE_GLFW_MT) add_subdirectory("mt") else() add_subdirectory("st") endif()