forked from flashlight/flashlight
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
35 lines (32 loc) · 1.03 KB
/
CMakeLists.txt
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
cmake_minimum_required(VERSION 3.5.1)
project(flashlight-examples)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# If building in source, we already have these targets.
if (NOT TARGET flashlight)
find_package(flashlight)
endif ()
if (NOT TARGET ArrayFire)
find_package(ArrayFire)
endif ()
function(build_example SRCFILE)
get_filename_component(src_name ${SRCFILE} NAME_WE)
set(target "${src_name}")
add_executable(${target} ${SRCFILE})
if (TARGET flashlight)
target_link_libraries(${target} PRIVATE flashlight)
target_include_directories(${target} PRIVATE ${CMAKE_SOURCE_DIR})
else ()
target_link_libraries(${target} PRIVATE flashlight::flashlight)
endif()
endfunction(build_example)
build_example(Mnist.cpp)
build_example(RnnLm.cpp)
build_example(LinearRegression.cpp)
build_example(Perceptron.cpp)
build_example(Classification.cpp)
build_example(Xor.cpp)
build_example(AdaptiveClassification.cpp)
if (FL_BUILD_DISTRIBUTED OR TARGET flashlight::Distributed)
build_example(DistributedTraining.cpp)
endif ()