|
1 | 1 | add_subdirectory(googletest) |
2 | 2 |
|
3 | | -set(DNNL_BUILD_EXAMPLES OFF) |
4 | | -set(DNNL_BUILD_TESTS OFF) |
5 | | -set(DNNL_CPU_RUNTIME "OMP") |
6 | | -set(DNNL_GRAPH_DISABLE ON) |
7 | | -set(DNNL_GRAPH_BUILD_TESTS OFF) |
8 | | -set(DNNL_GRAPH_BUILD_EXAMPLES OFF) |
| 3 | +include(ExternalProject) |
9 | 4 |
|
10 | | -if(UNIX AND NOT APPLE) |
11 | | - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -j2") |
12 | | - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -j2") |
13 | | -endif() |
| 5 | +set(ONEDNN_SOURCE_DIR ${CMAKE_SOURCE_DIR}/3rdparty/oneDNN) |
| 6 | +set(ONEDNN_BINARY_DIR ${CMAKE_BINARY_DIR}/oneDNN_build) |
14 | 7 |
|
15 | | -add_subdirectory(oneDNN) |
| 8 | +ExternalProject_Add(oneDNN_external |
| 9 | + SOURCE_DIR ${ONEDNN_SOURCE_DIR} |
| 10 | + BINARY_DIR ${ONEDNN_BINARY_DIR} |
| 11 | + CMAKE_ARGS |
| 12 | + -DDNNL_BUILD_EXAMPLES=OFF |
| 13 | + -DDNNL_BUILD_TESTS=OFF |
| 14 | + -DDNNL_CPU_RUNTIME=OMP |
| 15 | + -DDNNL_GRAPH_DISABLE=ON |
| 16 | + -DDNNL_GRAPH_BUILD_TESTS=OFF |
| 17 | + -DDNNL_GRAPH_BUILD_EXAMPLES=OFF |
| 18 | + -DCMAKE_BUILD_PARALLEL_LEVEL=2 |
| 19 | + INSTALL_COMMAND "" |
| 20 | + BUILD_BYPRODUCTS |
| 21 | + ${ONEDNN_BINARY_DIR}/src/libdnnl.a |
| 22 | + ${ONEDNN_BINARY_DIR}/src/libdnnl.so |
| 23 | +) |
16 | 24 |
|
17 | | -if(UNIX AND NOT APPLE) |
18 | | - set(CMAKE_C_FLAGS "") |
19 | | - set(CMAKE_CXX_FLAGS "") |
20 | | -endif() |
| 25 | +add_library(dnnl STATIC IMPORTED) |
| 26 | +set_target_properties(dnnl PROPERTIES |
| 27 | + IMPORTED_LOCATION ${ONEDNN_BINARY_DIR}/src/libdnnl.a |
| 28 | + INTERFACE_INCLUDE_DIRECTORIES ${ONEDNN_SOURCE_DIR}/include |
| 29 | +) |
21 | 30 |
|
| 31 | +add_dependencies(dnnl oneDNN_external) |
22 | 32 | # Unified TBB Configuration |
23 | 33 | option(TBB_TEST "Build TBB tests" OFF) |
24 | 34 | option(TBB_EXAMPLES "Build TBB examples" OFF) |
|
0 commit comments