# This is free and unencumbered software released into the public domain. # For more information, please refer to the LICENSE file in the root directory # or at cmake_minimum_required(VERSION 3.22) project(evloop) set(CMAKE_CXX_STANDARD 17) set(HERMES_SRC_DIR "" CACHE PATH "Path to Hermes source directory") set(HERMES_BUILD_DIR "" CACHE PATH "Path to Hermes build directory") if (NOT HERMES_SRC_DIR) message(FATAL_ERROR "Please specify HERMES_SRC_DIR") endif () # Validate HERMES_SRC_DIR by checking for API/jsi/jsi/jsi.h if (NOT EXISTS "${HERMES_SRC_DIR}/API/jsi/jsi/jsi.h") message(FATAL_ERROR "HERMES_SRC_DIR does not contain API/jsi/jsi/jsi.h") endif () if (NOT HERMES_BUILD_DIR) message(FATAL_ERROR "Please specify HERMES_BUILD_DIR") endif () # Validate HERMES_BUILD_DIR by checking for bin/hermes with the platform-specific extension if (NOT EXISTS "${HERMES_BUILD_DIR}/bin/hermes${CMAKE_EXECUTABLE_SUFFIX}") message(FATAL_ERROR "HERMES_BUILD_DIR does not contain bin/hermes${CMAKE_EXECUTABLE_SUFFIX}") endif () # Add Hermes include directories include_directories("${HERMES_SRC_DIR}/API") include_directories("${HERMES_SRC_DIR}/API/jsi") include_directories("${HERMES_SRC_DIR}/public") # Add Hermes library directories link_directories("${HERMES_BUILD_DIR}/API/hermes") link_directories("${HERMES_BUILD_DIR}/jsi") link_libraries(jsi) add_executable(evloop evloop.cpp) target_link_libraries(evloop hermes)