|
1 |
| -# Copyright (c) 2020 Intel Corporation |
| 1 | +# Copyright (c) 2020-2021 Intel Corporation |
2 | 2 | #
|
3 | 3 | # Licensed under the Apache License, Version 2.0 (the "License");
|
4 | 4 | # you may not use this file except in compliance with the License.
|
|
14 | 14 |
|
15 | 15 | cmake_minimum_required(VERSION 3.1)
|
16 | 16 |
|
17 |
| -include(CheckCXXCompilerFlag) |
18 |
| -include(GNUInstallDirs) |
19 |
| - |
20 | 17 | # Enable CMake policies
|
21 | 18 |
|
22 | 19 | if (POLICY CMP0091)
|
@@ -50,16 +47,20 @@ endif()
|
50 | 47 | file(READ include/oneapi/tbb/version.h _tbb_version_info)
|
51 | 48 | string(REGEX REPLACE ".*#define TBB_VERSION_MAJOR ([0-9]+).*" "\\1" _tbb_ver_major "${_tbb_version_info}")
|
52 | 49 | string(REGEX REPLACE ".*#define TBB_VERSION_MINOR ([0-9]+).*" "\\1" _tbb_ver_minor "${_tbb_version_info}")
|
| 50 | +string(REGEX REPLACE ".*#define TBB_VERSION_PATCH ([0-9]+).*" "\\1" _tbb_ver_patch "${_tbb_version_info}") |
53 | 51 | string(REGEX REPLACE ".*#define TBB_INTERFACE_VERSION ([0-9]+).*" "\\1" TBB_INTERFACE_VERSION "${_tbb_version_info}")
|
54 | 52 | string(REGEX REPLACE ".*#define __TBB_BINARY_VERSION ([0-9]+).*" "\\1" TBB_BINARY_VERSION "${_tbb_version_info}")
|
55 |
| -set(TBB_BINARY_MINOR_VERSION 1) |
| 53 | +set(TBB_BINARY_MINOR_VERSION ${_tbb_ver_minor}) |
56 | 54 | set(TBBMALLOC_BINARY_VERSION 2)
|
57 | 55 | set(TBBBIND_BINARY_VERSION 3)
|
58 | 56 |
|
59 |
| -project(TBB VERSION ${_tbb_ver_major}.${_tbb_ver_minor}.1 LANGUAGES CXX) |
| 57 | +project(TBB VERSION ${_tbb_ver_major}.${_tbb_ver_minor}.${_tbb_ver_patch} LANGUAGES CXX) |
60 | 58 | unset(_tbb_ver_major)
|
61 | 59 | unset(_tbb_ver_minor)
|
62 | 60 |
|
| 61 | +include(CheckCXXCompilerFlag) |
| 62 | +include(GNUInstallDirs) |
| 63 | + |
63 | 64 | # ---------------------------------------------------------------------------------------------------------
|
64 | 65 | # Handle C++ standard version.
|
65 | 66 | if (NOT MSVC) # no need to cover MSVC as it uses C++14 by default.
|
@@ -100,6 +101,14 @@ option(TBB4PY_BUILD "Enable tbb4py build" OFF)
|
100 | 101 | option(TBB_CPF "Enable preview features of the library" OFF)
|
101 | 102 | option(TBB_FIND_PACKAGE "Enable search for external oneTBB using find_package instead of build from sources" OFF)
|
102 | 103 |
|
| 104 | +if (NOT DEFINED BUILD_SHARED_LIBS) |
| 105 | + set(BUILD_SHARED_LIBS ON) |
| 106 | +endif() |
| 107 | + |
| 108 | +if (NOT BUILD_SHARED_LIBS) |
| 109 | + message(WARNING "You are building oneTBB as a static library. This is highly discouraged and such configuration is not supported. Consider building a dynamic library to avoid unforeseen issues.") |
| 110 | +endif() |
| 111 | + |
103 | 112 | if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
104 | 113 | set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Build type" FORCE)
|
105 | 114 | message(STATUS "CMAKE_BUILD_TYPE is not specified. Using default: ${CMAKE_BUILD_TYPE}")
|
@@ -163,8 +172,6 @@ set(THREADS_PREFER_PTHREAD_FLAG TRUE)
|
163 | 172 | find_package(Threads REQUIRED)
|
164 | 173 | # -------------------------------------------------------------------
|
165 | 174 |
|
166 |
| -list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) |
167 |
| - |
168 | 175 | file(GLOB FILES_WITH_EXTRA_TARGETS ${CMAKE_CURRENT_SOURCE_DIR}/cmake/*.cmake)
|
169 | 176 | foreach(FILE_WITH_EXTRA_TARGETS ${FILES_WITH_EXTRA_TARGETS})
|
170 | 177 | include(${FILE_WITH_EXTRA_TARGETS})
|
@@ -216,6 +223,10 @@ else()
|
216 | 223 | "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
|
217 | 224 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
218 | 225 | COMPONENT devel)
|
| 226 | + |
| 227 | + install(FILES "README.md" |
| 228 | + DESTINATION ${CMAKE_INSTALL_DOCDIR} |
| 229 | + COMPONENT devel) |
219 | 230 | # -------------------------------------------------------------------
|
220 | 231 | endif()
|
221 | 232 |
|
|
0 commit comments