-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
35 lines (27 loc) · 1.13 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.19)
project(protonVM)
# set the C++14 standard
set(CMAKE_CXX_STANDARD 14)
set(GCC_FLAGS "-std=c++14 -O2 -lOpenCL")
set(OpenCL_LIBRARIES "-lOpenCL")
# This should point to: "PATH-TO/level-zero/build/lib/libze_loader.so"
#set(ZE_LOADER $ENV{ZE_SHARED_LOADER})
add_definitions(${GCC_FLAGS})
include_directories(
./
${OPENCL_INCLUDE_DIRS}
)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
add_executable(main src/main.cpp src/instruction.cpp src/vm.cpp src/oclVM.cpp)
add_executable(gpuBenchmark src/gpuBenchmark.cpp src/instruction.cpp src/vm.cpp src/oclVM.cpp)
add_executable(testFPGA src/testFPGA.cpp src/instruction.cpp src/vm.cpp src/oclVM.cpp)
add_custom_target(build-time-make-directory ALL
COMMAND ${CMAKE_COMMAND} -E make_directory lib)
add_custom_command(
TARGET main POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_SOURCE_DIR}/src/*.cl
${CMAKE_CURRENT_BINARY_DIR}/lib/)
target_link_libraries(main ${OpenCL_LIBRARIES})
target_link_libraries(gpuBenchmark ${OpenCL_LIBRARIES})
target_link_libraries(testFPGA ${OpenCL_LIBRARIES})