kinect/codes/Azure-Kinect-Sensor-SDK/extern/CMakeLists.txt

75 lines
2.7 KiB
CMake
Raw Normal View History

2024-03-06 18:05:53 +00:00
# External dependencies are pulled in via submodules. Lets make sure the user
# has updated all the submodules
if ((NOT K4A_TURNED_ON_GIT_SUBMODULES_RECURSE) OR
(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/azure_c_shared/src/CMakeLists.txt"))
find_package(Git REQUIRED QUIET)
if (Git_FOUND)
get_git_dir(${K4A_SOURCE_DIR} GIT_DIR)
if (GIT_DIR)
message(STATUS "Updating git modules...")
execute_process(
COMMAND
${GIT_EXECUTABLE} submodule update --init --recursive
WORKING_DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}
RESULT_VARIABLE
GIT_SUBMODULE_UPDATE_RESULT
OUTPUT_VARIABLE
GIT_SUBMODULE_UPDATE_OUTPUT
)
if (NOT (${GIT_SUBMODULE_UPDATE_RESULT} EQUAL 0))
message(FATAL_ERROR "git submodule update failed:
${GIT_SUBMODULE_UDPATE_OUTPUT}")
endif()
message(STATUS "Setting git config submodules.recurse to true")
execute_process(
COMMAND
${GIT_EXECUTABLE} config submodule.recurse true
WORKING_DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}
RESULT_VARIABLE
GIT_CONFIG_SUBMODULE_RESULT
OUTPUT_VARIABLE
GIT_CONFIG_SUBMODULE_OUTPUT
)
if (NOT (${GIT_CONFIG_SUBMODULE_RESULT} EQUAL 0))
message(FATAL_ERROR "git config submodule.recurse true failed:
${GIT_CONFIG_SUBMODULE_OUTPUT}")
endif()
set(K4A_TURNED_ON_GIT_SUBMODULES_RECURSE TRUE CACHE BOOL "Flag to signify we have turned on git submodule.recurse in this repo")
endif()
endif()
endif()
# Set default policies for CMP0063 to NEW
#
# This forces cmake to apply CMAKE_C_VISIBILITY_PRESET,
# CMAKE_CXX_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN target properties
# to all targets, not just SHARED libraries. We want this so that files
# compiled into static libraries have the same visibility flags as those
# compiled into shared libraries.
#
# NEW is the default for this policy except when cmake_minimum_required is
# lower than CMake 3.3
set(CMAKE_POLICY_DEFAULT_CMP0063 NEW)
add_subdirectory(azure_c_shared)
add_subdirectory(cjson)
add_subdirectory(glfw)
add_subdirectory(googletest)
add_subdirectory(imgui)
add_subdirectory(libebml)
add_subdirectory(libjpeg-turbo)
add_subdirectory(libmatroska)
add_subdirectory(libsoundio)
add_subdirectory(libyuv)
add_subdirectory(libuvc)
add_subdirectory(spdlog)
if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "WindowsStore")
add_subdirectory(libusb)
endif()