1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
# Copyright (C) 2020 Intel Corporation
# SPDX-License-Identifier: MIT
add_definitions(-DL0_LOADER_VERSION="${PROJECT_VERSION_MAJOR}")
add_definitions(-DL0_VALIDATION_LAYER_SUPPORTED_VERSION="${PROJECT_VERSION_MAJOR}")
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/inc)
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/ZeLoaderVersion.rc.in
${CMAKE_CURRENT_BINARY_DIR}/ZeLoaderVersion.rc
@ONLY)
include(GNUInstallDirs)
if (BUILD_STATIC)
message(STATUS "Building loader as static library")
add_library(${TARGET_LOADER_NAME}
STATIC
""
${CMAKE_CURRENT_BINARY_DIR}/ZeLoaderVersion.rc
)
add_definitions(-DL0_STATIC_LOADER_BUILD="1")
else()
message(STATUS "Building loader as dynamic library")
add_library(${TARGET_LOADER_NAME}
SHARED
""
${CMAKE_CURRENT_BINARY_DIR}/ZeLoaderVersion.rc
)
endif()
if(MSVC AND L0_DLL_INTEGRITY_CHECKS)
set_target_properties(ze_loader PROPERTIES LINK_FLAGS "${CMAKE_CXX_LINKER_WRAPPER_FLAG}/INTEGRITYCHECK")
endif()
add_subdirectory(lib)
if (NOT BUILD_STATIC)
add_subdirectory(loader)
add_subdirectory(layers)
endif()
add_subdirectory(drivers)
add_subdirectory(utils)
set_target_properties(${TARGET_LOADER_NAME} PROPERTIES
VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}"
SOVERSION "${PROJECT_VERSION_MAJOR}"
)
target_link_libraries(${TARGET_LOADER_NAME} PRIVATE ${CMAKE_DL_LIBS} level_zero_utils)
if (UNIX)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)
target_link_libraries (${TARGET_LOADER_NAME} PRIVATE Threads::Threads)
endif()
if(WIN32)
target_link_libraries (${TARGET_LOADER_NAME} PRIVATE cfgmgr32.lib)
endif()
set(SDK_COMPONENT_STRING "level-zero-devel")
set(LIB_COMPONENT_STRING "level-zero")
if(BUILD_INSTALLER)
set(SDK_COMPONENT_STRING "SDK")
set(LIB_COMPONENT_STRING "Loader")
endif()
install(TARGETS ze_loader
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${SDK_COMPONENT_STRING}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${LIB_COMPONENT_STRING}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${LIB_COMPONENT_STRING}
NAMELINK_COMPONENT ${SDK_COMPONENT_STRING}
)
if(NOT BUILD_INSTALLER)
file(RELATIVE_PATH pkgconfig_prefix "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig" "${CMAKE_INSTALL_PREFIX}")
file(RELATIVE_PATH pkgconfig_include_dir "${CMAKE_INSTALL_PREFIX}" "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
file(RELATIVE_PATH pkgconfig_lib_dir "${CMAKE_INSTALL_PREFIX}" "${CMAKE_INSTALL_FULL_LIBDIR}")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libze_loader.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libze_loader.pc @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/level-zero.pc.in ${CMAKE_CURRENT_BINARY_DIR}/level-zero.pc @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libze_loader.pc"
"${CMAKE_CURRENT_BINARY_DIR}/level-zero.pc"
DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig" COMPONENT ${SDK_COMPONENT_STRING})
endif()
|