potholeshome-app

The main app analysing the data on BOINC
git clone git://archive.git.mtrnord.blog/Potholes-Home/potholeshome-app.git
Log | Files | Refs | Submodules

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()