CMakeLists.txt (2439B)
1 cmake_minimum_required(VERSION 3.10) 2 3 set(CMAKE_CXX_STANDARD 17) 4 set(CMAKE_CXX_STANDARD_REQUIRED ON CACHE BOOL "Require C++ standard to be supported") 5 6 project(pothole_analyzer LANGUAGES CXX C) 7 8 set(THREADS_PREFER_PTHREAD_FLAG ON) 9 find_package(Threads REQUIRED) 10 11 set(TENSORFLOW_SOURCE_DIR "" CACHE PATH 12 "Directory that contains the TensorFlow project" ) 13 if(NOT TENSORFLOW_SOURCE_DIR) 14 get_filename_component(TENSORFLOW_SOURCE_DIR 15 "${CMAKE_CURRENT_LIST_DIR}/tensorflow" 16 ABSOLUTE 17 ) 18 endif() 19 20 add_subdirectory( 21 "${TENSORFLOW_SOURCE_DIR}/tensorflow/lite" 22 "${CMAKE_CURRENT_BINARY_DIR}/tensorflow-lite" EXCLUDE_FROM_ALL) 23 24 25 if(NOT MSVC) 26 set( 27 CMAKE_CXX_FLAGS 28 "${CMAKE_CXX_FLAGS} \ 29 -Wall \ 30 -Wextra \ 31 -pipe \ 32 -fsized-deallocation \ 33 -fdiagnostics-color=always \ 34 -Wunreachable-code \ 35 -Wno-attributes \ 36 -O3 \ 37 -m64" 38 ) 39 if (NOT CMAKE_COMPILER_IS_GNUCXX) 40 # -Wshadow is buggy and broken in GCC, so do not enable it. 41 # see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79328 42 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wshadow") 43 endif() 44 endif() 45 46 if (MSVC) 47 set( 48 CMAKE_CXX_FLAGS 49 "${CMAKE_CXX_FLAGS} /bigobj" 50 ) 51 endif() 52 53 add_executable(pothole_analyzer 54 main.cpp) 55 56 target_include_directories(pothole_analyzer PRIVATE 57 ${CMAKE_CURRENT_LIST_DIR}/boinc/api/ 58 ${CMAKE_CURRENT_LIST_DIR}/boinc/lib/ 59 ${CMAKE_CURRENT_LIST_DIR}/boinc/) 60 61 if(NOT MSVC) 62 target_link_libraries (pothole_analyzer PRIVATE 63 tensorflow-lite 64 -L${CMAKE_CURRENT_LIST_DIR}/boinc/lib 65 -L${CMAKE_CURRENT_LIST_DIR}/boinc/api 66 -L${CMAKE_CURRENT_LIST_DIR}/boinc 67 #-l:boinc_api.a 68 #-l:boinc.a 69 Threads::Threads 70 -lstdc++ 71 -static 72 -static-libstdc++ 73 -DBOINC 74 -lboinc_api 75 -lboinc) 76 endif() 77 if (MSVC) 78 target_compile_options(pothole_analyzer PRIVATE /MT) 79 target_link_libraries (pothole_analyzer PRIVATE 80 tensorflow-lite 81 Threads::Threads 82 ${CMAKE_CURRENT_LIST_DIR}/boinc_windows/libboinc.lib 83 ${CMAKE_CURRENT_LIST_DIR}/boinc_windows/libboincapi.lib 84 ) 85 endif()