CMakeLists.txt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. cmake_minimum_required(VERSION 2.8.12.1)
  2. project(easy_profiler CXX)
  3. set(EASY_PROGRAM_VERSION_MAJOR 1)
  4. set(EASY_PROGRAM_VERSION_MINOR 3)
  5. set(EASY_PROGRAM_VERSION_PATCH 0)
  6. set(EASY_PRODUCT_VERSION_STRING "${EASY_PROGRAM_VERSION_MAJOR}.${EASY_PROGRAM_VERSION_MINOR}.${EASY_PROGRAM_VERSION_PATCH}")
  7. # ATOMIC BEGIN
  8. if (ATOMIC_DESKTOP)
  9. find_package(Qt5Widgets)
  10. endif ()
  11. set(EASY_OPTION_LIB_STATIC ON CACHE BOOL "" FORCE)
  12. set(EASY_OPTION_PREDEFINED_COLORS ON CACHE BOOL "" FORCE)
  13. set(EASY_PROFILER_NO_SAMPLES ON CACHE BOOL "" FORCE)
  14. set(BUILD_WITH_CHRONO_HIGH_RESOLUTION_CLOCK OFF CACHE BOOL "" FORCE)
  15. # force std::chrono::high_resolution_clock usage on iOS
  16. if (IOS)
  17. set(BUILD_WITH_CHRONO_HIGH_RESOLUTION_CLOCK ON FORCE)
  18. endif()
  19. if ("${CMAKE_SOURCE_DIR}" STREQUAL "${easy_profiler_SOURCE_DIR}")
  20. # Do not set these paths if easy_profiler is added as dependency to other projects.
  21. set_property(GLOBAL PROPERTY USE_FOLDERS ON)
  22. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/bin)
  23. set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/bin)
  24. set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/bin)
  25. # set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_LIST_DIR}/sdk)
  26. endif ()
  27. # ATOMIC END
  28. macro(easy_define_target_option TARGET SOURCE_OPTION TARGET_DEFINITION)
  29. if (${SOURCE_OPTION})
  30. set(_VALUE 1)
  31. else ()
  32. set(_VALUE 0)
  33. endif ()
  34. target_compile_options(${TARGET} PUBLIC -D${TARGET_DEFINITION}=${_VALUE})
  35. endmacro()
  36. add_subdirectory(easy_profiler_core)
  37. # ATOMIC BEGIN
  38. # Only include the Qt client if on we're building desktop platform and Qt5 was found on system
  39. if (Qt5Widgets_FOUND)
  40. add_subdirectory(profiler_gui)
  41. endif()
  42. #ATOMIC END
  43. if (NOT EASY_PROFILER_NO_SAMPLES)
  44. add_subdirectory(sample)
  45. add_subdirectory(reader)
  46. endif ()