cmake_minimum_required(VERSION 3.21 FATAL_ERROR) project(rocprofiler-systems-causal-example LANGUAGES CXX) if(ROCPROFSYS_DISABLE_EXAMPLES) get_filename_component(_DIR ${CMAKE_CURRENT_LIST_DIR} NAME) if( ${PROJECT_NAME} IN_LIST ROCPROFSYS_DISABLE_EXAMPLES OR ${_DIR} IN_LIST ROCPROFSYS_DISABLE_EXAMPLES ) return() endif() endif() set(CMAKE_BUILD_TYPE "Release") find_package(Threads REQUIRED) if(NOT TARGET rocprofiler-systems::rocprofiler-systems-user-library) find_package(rocprofiler-systems REQUIRED COMPONENTS user) endif() add_library(causal-interface-library INTERFACE) target_compile_options( causal-interface-library INTERFACE -g3 -gdwarf-3 -fno-omit-frame-pointer ) target_link_libraries( causal-interface-library INTERFACE Threads::Threads ${CMAKE_DL_LIBS} ) rocprofiler_systems_causal_example_executable( "causal-both" SOURCES causal.cpp impl.cpp LINK_LIBRARIES causal-interface-library DEFINITIONS USE_RNG=1 USE_CPU=1 ) rocprofiler_systems_causal_example_executable( "causal-rng" SOURCES causal.cpp impl.cpp LINK_LIBRARIES causal-interface-library DEFINITIONS USE_RNG=1 USE_CPU=0 ) rocprofiler_systems_causal_example_executable( "causal-cpu" SOURCES causal.cpp impl.cpp LINK_LIBRARIES causal-interface-library DEFINITIONS USE_RNG=0 USE_CPU=1 )