tfrun

An easy-to-use C++ wrapper over the stable C API of TensorFlow
git clone https://0xff.ir/g/tfrun.git
Log | Files | Refs | README | LICENSE

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 )