# Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. cmake_minimum_required(VERSION 3.9.0) set(CMAKE_POLICY_DEFAULT_CMP0063 NEW) project(Azure-Kinect-Samples LANGUAGES C CXX VERSION 1.4) set(CMAKE_CXX_STANDARD 17) set(CMAKE_C_STANDARD 99) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) FIND_PACKAGE(k4a REQUIRED) FIND_PACKAGE(k4abt REQUIRED) # These specific settings tell the loader to search the directory of the # executable for shared objects. This is done on Linux to emulate the default # behavior of the Windows loader, which searches for DLLs in the path of the # executable. if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") set(CMAKE_BUILD_RPATH "\$ORIGIN") endif() # If using clang or GCC, set default visibilty to hidden if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang") set(CMAKE_CXX_VISIBILITY_PRESET hidden) set(CMAKE_C_VISIBILITY_PRESET hidden) set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) endif() # If using clang or GCC only linked shared libraries if needed if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed,-rpath-link=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--as-needed,-rpath-link=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") endif() add_subdirectory(body-tracking-samples)