| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- cmake_minimum_required(VERSION 2.8.12.1)
- project(easy_profiler CXX)
- set(EASY_PROGRAM_VERSION_MAJOR 1)
- set(EASY_PROGRAM_VERSION_MINOR 3)
- set(EASY_PROGRAM_VERSION_PATCH 0)
- set(EASY_PRODUCT_VERSION_STRING "${EASY_PROGRAM_VERSION_MAJOR}.${EASY_PROGRAM_VERSION_MINOR}.${EASY_PROGRAM_VERSION_PATCH}")
- # ATOMIC BEGIN
- if (ATOMIC_DESKTOP)
- find_package(Qt5Widgets)
- endif ()
- set(EASY_OPTION_LIB_STATIC ON CACHE BOOL "" FORCE)
- set(EASY_OPTION_PREDEFINED_COLORS ON CACHE BOOL "" FORCE)
- set(EASY_PROFILER_NO_SAMPLES ON CACHE BOOL "" FORCE)
- set(BUILD_WITH_CHRONO_HIGH_RESOLUTION_CLOCK OFF CACHE BOOL "" FORCE)
- # force std::chrono::high_resolution_clock usage on iOS
- if (IOS)
- set(BUILD_WITH_CHRONO_HIGH_RESOLUTION_CLOCK ON FORCE)
- endif()
- if ("${CMAKE_SOURCE_DIR}" STREQUAL "${easy_profiler_SOURCE_DIR}")
- # Do not set these paths if easy_profiler is added as dependency to other projects.
- set_property(GLOBAL PROPERTY USE_FOLDERS ON)
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/bin)
- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/bin)
- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/bin)
- # set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_LIST_DIR}/sdk)
- endif ()
- # ATOMIC END
- macro(easy_define_target_option TARGET SOURCE_OPTION TARGET_DEFINITION)
- if (${SOURCE_OPTION})
- set(_VALUE 1)
- else ()
- set(_VALUE 0)
- endif ()
- target_compile_options(${TARGET} PUBLIC -D${TARGET_DEFINITION}=${_VALUE})
- endmacro()
- add_subdirectory(easy_profiler_core)
- # ATOMIC BEGIN
- # Only include the Qt client if on we're building desktop platform and Qt5 was found on system
- if (Qt5Widgets_FOUND)
- add_subdirectory(profiler_gui)
- endif()
- #ATOMIC END
- if (NOT EASY_PROFILER_NO_SAMPLES)
- add_subdirectory(sample)
- add_subdirectory(reader)
- endif ()
|