11cmake_minimum_required (VERSION 3.0 FATAL_ERROR)
2- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
3- project (pytorch-cpp)
42
3+ project (pytorch-cpp VERSION 1.0.0 LANGUAGES CXX)
54
65find_package (Torch REQUIRED)
76
8- add_executable (pytorch-cpp main.cpp)
9- target_link_libraries (pytorch-cpp "${TORCH_LIBRARIES} " )
7+ set (EXECUTABLE_NAME pytorch-cpp)
8+ add_executable (${EXECUTABLE_NAME} main.cpp)
9+ set_target_properties (${EXECUTABLE_NAME} PROPERTIES
10+ CXX_STANDARD 11
11+ CXX_STANDARD_REQUIRED YES
12+ )
1013
11- # add_executable(pytorch_basics tutorials/basics/pytorch_basics/main.cpp)
12- # target_link_libraries(pytorch_basics "${TORCH_LIBRARIES}")
13- add_executable (linear_regression tutorials/basics/linear_regression/main.cpp)
14- target_link_libraries (linear_regression "${TORCH_LIBRARIES} " )
15- # add_executable(logistic_regression tutorials/basics/logistic_regression/main.cpp)
16- # target_link_libraries(logistic_regression "${TORCH_LIBRARIES}")
17- # add_executable(feedforward_neural_network tutorials/basics/feedforward_neural_network/main.cpp)
18- # target_link_libraries(feedforward_neural_network "${TORCH_LIBRARIES}")
14+ target_link_libraries (${EXECUTABLE_NAME} "${TORCH_LIBRARIES} " )
1915
20- set_property (TARGET pytorch-cpp PROPERTY CXX_STANDARD 11)
16+ # Add tutorial projects:
17+ add_subdirectory ("tutorials/basics/feedforward_neural_network" )
18+ add_subdirectory ("tutorials/basics/linear_regression" )
19+ add_subdirectory ("tutorials/basics/logistic_regression" )
20+ add_subdirectory ("tutorials/basics/pytorch_basics" )
21+
22+ # The following code block is suggested to be used on Windows.
23+ # According to https://github.com/pytorch/pytorch/issues/25457,
24+ # the DLLs need to be copied to avoid memory errors.
25+ # See https://pytorch.org/cppdocs/installing.html.
26+ if (MSVC )
27+ file (GLOB TORCH_DLLS "${TORCH_INSTALL_PREFIX} /lib/*.dll" )
28+ add_custom_command (TARGET ${EXECUTABLE_NAME}
29+ POST_BUILD
30+ COMMAND ${CMAKE_COMMAND} -E copy_if_different
31+ ${TORCH_DLLS}
32+ $<TARGET_FILE_DIR:${EXECUTABLE_NAME} >)
33+ endif (MSVC )
0 commit comments