CMakeLists.txt 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. cmake_minimum_required(VERSION 2.8)
  2. project(mqtt-client)
  3. set(TARGETS "mqtt-client")
  4. set(SUBDIRS "mqtt" "test" "platform" "network" "common" "mqttclient")
  5. set(INCDIRS "mqtt" "platform/linux" "common" "common/log" "network" "network/mbedtls/include" "mqttclient" "test")
  6. set(OUTDIRS "build")
  7. set(LIBNAMES "mqtt" "platform" "network" "common" "salof" "mbedtls" "mqttclient")
  8. set(PROJECT_ROOT_PATH "${PROJECT_SOURCE_DIR}")
  9. set(LIBRARY_OUTPUT_PATH "${PROJECT_ROOT_PATH}/${OUTDIRS}/lib/")
  10. set(EXECUTABLE_OUTPUT_PATH "${PROJECT_ROOT_PATH}/${OUTDIRS}/bin/")
  11. set(CMAKE_BUILD_TYPE "Release") # Debug Release
  12. set(CMAKE_LIB_TYPE "STATIC") # SHARED STATIC
  13. # set(CMAKE_C_COMPILER "gcc")
  14. # set(CMAKE_CXX_COMPILER "g++" )
  15. set(CMAKE_C_FLAGS "-Wall")
  16. set(CMAKE_C_FLAGS "-lpthread")
  17. set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -O0 -g -ggdb")
  18. set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -O3 -DNDEBUG")
  19. if(CMAKE_COMPILER_IS_GNUCXX)
  20. set(CMAKE_CXX_FLAGS "-std=c++11")
  21. set(CMAKE_CXX_FLAGS "-lpthread")
  22. set(CMAKE_CXX_FLAGS "-Wall")
  23. set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -O0 -g -ggdb")
  24. set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O3")
  25. endif(CMAKE_COMPILER_IS_GNUCXX)
  26. foreach(incdir ${INCDIRS})
  27. include_directories(${incdir})
  28. endforeach()
  29. foreach(subdir ${SUBDIRS})
  30. add_subdirectory(${PROJECT_ROOT_PATH}/${subdir})
  31. endforeach()
  32. link_directories(${LIBRARY_OUTPUT_PATH})