diff --git a/hpvm/projects/visc-rt/CMakeLists.txt b/hpvm/projects/visc-rt/CMakeLists.txt index 5767d82cdce8ce74e799e0686a65510a621072bb..5b9449bf2d00ac7a03c085cc1418a95e032d01b7 100644 --- a/hpvm/projects/visc-rt/CMakeLists.txt +++ b/hpvm/projects/visc-rt/CMakeLists.txt @@ -1,43 +1,22 @@ -add_custom_target(visc-rt ALL) -add_custom_command( - TARGET visc-rt PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/deviceStatusSwitchIntervals.txt - ${CMAKE_CURRENT_BINARY_DIR}/deviceStatusSwitchIntervals.txt - DEPENDS deviceStatusSwitchIntervals.txt - COMMENT "Copying deviceStatusSwitchIntervals.txt") -add_custom_command( - TARGET visc-rt PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/device_abstraction.h - ${CMAKE_CURRENT_BINARY_DIR}/device_abstraction.h - DEPENDS device_abstraction.h - COMMENT "Copying device_abstraction.h") -add_custom_command( - TARGET visc-rt PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/policy.h - ${CMAKE_CURRENT_BINARY_DIR}/policy.h - DEPENDS policy.h - COMMENT "Copying policy.h") -add_custom_command( - TARGET visc-rt PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/visc-rt.h - ${CMAKE_CURRENT_BINARY_DIR}/visc-rt.h - DEPENDS visc-rt.h - COMMENT "Copying visc-rt.h") -add_custom_command( - TARGET visc-rt PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/visc-rt.cpp - ${CMAKE_CURRENT_BINARY_DIR}/visc-rt.cpp - DEPENDS visc-rt.cpp - COMMENT "Copying visc-rt.cpp") -add_custom_command( - TARGET visc-rt PRE_BUILD - COMMAND ${CMAKE_COMMAND} -E copy - ${CMAKE_CURRENT_SOURCE_DIR}/makefile - ${CMAKE_CURRENT_BINARY_DIR}/makefile - DEPENDS makefile - COMMENT "Copying makefile") +add_definitions(-DNUM_CORES=8) + +SET(CMAKE_C_COMPILER ${CMAKE_BINARY_DIR}/bin/clang) +SET(CMAKE_CXX_COMPILER ${CMAKE_BINARY_DIR}/bin/clang++) + +add_llvm_library(visc-rt.ll visc-rt.cpp + + DEPENDS + clang + llvm-dis + ) + + +target_compile_options(visc-rt.ll PUBLIC -flto ) +target_compile_options(visc-rt.ll PUBLIC -std=c++11) + +add_custom_target(visc-rt.cpp.o ALL + COMMAND ar -x ${CMAKE_BINARY_DIR}/lib/libvisc-rt.ll.a + COMMAND mv ${CMAKE_BINARY_DIR}/tools/hpvm/projects/visc-rt/visc-rt.cpp.o ${CMAKE_BINARY_DIR}/tools/hpvm/projects/visc-rt/visc-rt.bc + COMMAND ${CMAKE_BINARY_DIR}/bin/llvm-dis ${CMAKE_BINARY_DIR}/tools/hpvm/projects/visc-rt/visc-rt.bc) + +add_dependencies(visc-rt.cpp.o visc-rt.ll)