CMakeLists.txt 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. cmake_minimum_required(VERSION 3.0.0)
  2. project(EgoController VERSION 0.1.0)
  3. MESSAGE(STATUS "operation system is ${CMAKE_HOST_SYSTEM_PROCESSOR}")
  4. IF(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
  5. SET (CMAKE_C_COMPILER "/usr/bin/clang")
  6. SET (CMAKE_CXX_COMPILER "/usr/bin/clang++")
  7. SET (CMAKE_AR "/usr/bin/llvm-ar")
  8. SET (CMAKE_LINKER "/usr/bin/llvm-ld")
  9. SET (CMAKE_NM "/usr/bin/llvm-nm")
  10. SET (CMAKE_OBJDUMP "/usr/bin/llvm-objdump")
  11. ENDIF()
  12. if( CMAKE_BUILD_TYPE STREQUAL "Debug" )
  13. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wno-unused-variable -pthread")
  14. endif()
  15. add_definitions(-DJSONCPP_USING_SECURE_MEMORY=0)
  16. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=deprecated-declarations -Wno-deprecated-declarations -pthread -g -Wall -Wno-unused-variable -DWEBRTC_POSIX=1 -DWEBRTC_LINUX=1")
  17. add_definitions(-DJSONCPP_USING_SECURE_MEMORY=0)
  18. set(API_DIR ../webrtcinterop/include)
  19. include_directories(${API_DIR})
  20. #find_package(librealsense2 REQUIRED)
  21. #find_package(ZED REQUIRED)
  22. #find_package(protobuf REQUIRED)
  23. #find_package(jsoncpp REQUIRED)
  24. find_package(PkgConfig REQUIRED)
  25. pkg_check_modules(GLIB_PKG glib-2.0)
  26. if (GLIB_PKG_FOUND)
  27. message(Found glib-2.0)
  28. endif (GLIB_PKG_FOUND)
  29. message("${PROJECT_SOURCE_DIR}")
  30. file(GLOB native_srcs "*.cpp")
  31. set(CURDIR ${CMAKE_CURRENT_LIST_DIR})
  32. file(GLOB common_srcs ${CURDIR}/../common/*.cpp)
  33. include_directories(${CURDIR}/../Protocol/linux/)
  34. file(GLOB proto_srcs ${CURDIR}/../Protocol/linux/*.cc)
  35. link_directories("../webrtcinterop/build")
  36. IF(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "x86_64")
  37. link_directories("../webrtc/lib/x64")
  38. elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
  39. link_directories("../webrtc/lib/aarch64")
  40. endif()
  41. add_executable(EgoController ${native_srcs} ${common_srcs} ${proto_srcs})
  42. find_package(Boost COMPONENTS system REQUIRED)
  43. message(Boost "${Boost_SYSTEM_LIBRARY}")
  44. target_link_libraries(EgoController pthread)
  45. target_link_libraries(EgoController libwebrtcinterop.a)
  46. target_link_libraries(EgoController libwebrtc.a)
  47. target_link_libraries(EgoController /usr/local/lib/libprotobuf.so)
  48. target_link_libraries(EgoController libjsoncpp.so)
  49. target_link_libraries(EgoController ${Boost_SYSTEM_LIBRARY})
  50. target_link_libraries(EgoController dl)
  51. target_link_libraries(EgoController X11)
  52. target_link_libraries(EgoController ${GLIB_LIBRARIES})
  53. #set(CPACK_PROJECT_NAME ${PROJECT_NAME})
  54. #set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})