CMakeLists.txt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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. find_package(Qt5Widgets)
  9. set(EASY_OPTION_LIB_STATIC ON CACHE BOOL "" FORCE)
  10. set(EASY_OPTION_PREDEFINED_COLORS ON CACHE BOOL "" FORCE)
  11. set(EASY_PROFILER_NO_SAMPLES ON CACHE BOOL "" FORCE)
  12. if ("${CMAKE_SOURCE_DIR}" STREQUAL "${easy_profiler_SOURCE_DIR}")
  13. # Do not set these paths if easy_profiler is added as dependency to other projects.
  14. set_property(GLOBAL PROPERTY USE_FOLDERS ON)
  15. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/bin)
  16. set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/bin)
  17. set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/bin)
  18. # set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_LIST_DIR}/sdk)
  19. endif ()
  20. # ATOMIC END
  21. macro(easy_define_target_option TARGET SOURCE_OPTION TARGET_DEFINITION)
  22. if (${SOURCE_OPTION})
  23. set(_VALUE 1)
  24. else ()
  25. set(_VALUE 0)
  26. endif ()
  27. target_compile_options(${TARGET} PUBLIC -D${TARGET_DEFINITION}=${_VALUE})
  28. endmacro()
  29. add_subdirectory(easy_profiler_core)
  30. # ATOMIC BEGIN
  31. # Only include the Qt client if on we're building desktop platform and Qt5 was found on system
  32. if (ATOMIC_DESKTOP AND Qt5Widgets_FOUND)
  33. add_subdirectory(profiler_gui)
  34. endif()
  35. #ATOMIC END
  36. if (NOT EASY_PROFILER_NO_SAMPLES)
  37. add_subdirectory(sample)
  38. add_subdirectory(reader)
  39. endif ()