set(VCRTL_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/vcrtl/$/vcrtl_driver.lib") ExternalProject_Add( vcrtl_build SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vcrtl BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/vcrtl BUILD_COMMAND "${CMAKE_COMMAND}" --build ${CMAKE_CURRENT_BINARY_DIR}/vcrtl --config $ --target vcrtl_driver PATCH_COMMAND cmd /C "echo. > ${CMAKE_CURRENT_SOURCE_DIR}/vcrtl/src/runtime.cpp" INSTALL_COMMAND "" USES_TERMINAL_CONFIGURE 1 USES_TERMINAL_BUILD 1 BUILD_ALWAYS 1 BUILD_BYPRODUCTS "${VCRTL_LIBRARY}" CMAKE_ARGS "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" "-DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}" "-DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}" "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}" "-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}" "-DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG}" "-DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE}" "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}" "-DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}" "-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}" "-DCMAKE_MSVC_RUNTIME_LIBRARY=${CMAKE_MSVC_RUNTIME_LIBRARY}" ) add_library(vcrtl_driver INTERFACE) add_dependencies(vcrtl_driver vcrtl_build) target_link_libraries(vcrtl_driver INTERFACE "${VCRTL_LIBRARY}")