CMakeLists.txt (1230B)
1 2 cmake_minimum_required(VERSION 3.12) 3 4 project(tfrun 5 LANGUAGES CXX 6 VERSION 0.1 7 DESCRIPTION "An easy-to-use C++ wrapper over the stable C API of TensorFlow" 8 HOMEPAGE_URL "https://0xff.ir/c/tfrun/log.html" 9 ) 10 11 find_package(PkgConfig) 12 pkg_check_modules(TensorFlow tensorflow REQUIRED IMPORTED_TARGET) 13 14 add_library(base INTERFACE) 15 target_compile_options(base 16 INTERFACE 17 -Wall 18 -Wextra 19 -pedantic 20 -O3 21 ) 22 23 add_library(tfrun 24 tfrun.cpp 25 tfrun.hpp 26 ) 27 target_link_libraries(tfrun 28 PUBLIC 29 base 30 PkgConfig::TensorFlow 31 ) 32 target_include_directories(tfrun 33 PUBLIC 34 ${CMAKE_SOURCE_DIR} 35 ) 36 set_property( 37 TARGET tfrun 38 PROPERTY CXX_STANDARD 14 39 ) 40 target_compile_options(tfrun 41 PRIVATE 42 -fvisibility=hidden 43 ) 44 45 add_executable(tfrun.test 46 test/tfrun.test.cpp 47 48 test/bmpread.cpp 49 test/bmpread.hpp 50 ) 51 target_link_libraries(tfrun.test 52 PRIVATE 53 tfrun 54 ) 55 set_property( 56 TARGET tfrun.test 57 PROPERTY CXX_STANDARD 14 58 ) 59 60 set(IMGFILES 61 ${CMAKE_SOURCE_DIR}/test/panda.bmp 62 ${CMAKE_SOURCE_DIR}/test/dog.bmp 63 ) 64 add_custom_command( 65 TARGET tfrun.test 66 PRE_BUILD 67 COMMAND cp ${IMGFILES} ${CMAKE_CURRENT_BINARY_DIR} 68 ) 69 70 install( 71 TARGETS tfrun 72 DESTINATION lib 73 ) 74 install( 75 FILES tfrun.hpp 76 DESTINATION include 77 )