if (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND CMAKE_SYSTEM_NAME STREQUAL "Linux") SET(SWITCH_ASSEMBLY "custom_stack_callback_x86_64.s") elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "arm" AND CMAKE_SYSTEM_NAME STREQUAL "Linux") SET(SWITCH_ASSEMBLY "custom_stack_callback_arm32.s") else () MESSAGE(FATAL_ERROR "Platform (${CMAKE_SYSTEM_PROCESSOR} on ${CMAKE_SYSTEM_NAME}) not supported! Please see Readme for instructions to port.") endif () add_executable(context_switch main.cpp ${SWITCH_ASSEMBLY} fiber_call_x86_64.s fiber_continue_x86_64.s) # Example for adding the library to your app (as a cmake project dependency) target_link_libraries(context_switch)