diff --git a/examples/realtime_example/CMakeLists.txt b/examples/realtime_example/CMakeLists.txt index ed8c728..b18473f 100644 --- a/examples/realtime_example/CMakeLists.txt +++ b/examples/realtime_example/CMakeLists.txt @@ -33,8 +33,14 @@ if(LINUX) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -export-dynamic") endif() +if (WIN32) + add_custom_command(TARGET realtime_example POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy $ $ + COMMAND_EXPAND_LISTS + ) +endif() + add_custom_command(TARGET realtime_example POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy -t $ $ COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/dart/ $/dart COMMAND_EXPAND_LISTS ) @@ -44,5 +50,3 @@ target_link_libraries(realtime_example PUBLIC dart_dll cute) if (MSVC) set_property(TARGET realtime_example PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $) endif() - -set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/realtime_example") diff --git a/examples/simple_example/CMakeLists.txt b/examples/simple_example/CMakeLists.txt index 00c0028..f4790d4 100644 --- a/examples/simple_example/CMakeLists.txt +++ b/examples/simple_example/CMakeLists.txt @@ -9,9 +9,15 @@ target_include_directories(simple_example PRIVATE "${DART_DIR}/runtime/include" ) +if(WIN32) + add_custom_command(TARGET simple_example POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy $ $ + COMMAND_EXPAND_LISTS + ) +endif() + add_custom_command(TARGET simple_example POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy -t $ $ - COMMAND ${CMAKE_COMMAND} -E copy -t $ ${PROJECT_SOURCE_DIR}/hello_world.dart + COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/hello_world.dart $ COMMAND_EXPAND_LISTS ) @@ -19,6 +25,4 @@ target_link_libraries(simple_example PUBLIC dart_dll) if (MSVC) set_property(TARGET simple_example PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $) -endif() - -set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/simple_example") +endif() \ No newline at end of file diff --git a/examples/simple_example_ffi/CMakeLists.txt b/examples/simple_example_ffi/CMakeLists.txt index 9013093..9ec9d6f 100644 --- a/examples/simple_example_ffi/CMakeLists.txt +++ b/examples/simple_example_ffi/CMakeLists.txt @@ -9,9 +9,15 @@ target_include_directories(simple_example_ffi PRIVATE "${DART_DIR}/runtime/include" ) +if(WIN32) + add_custom_command(TARGET simple_example_ffi POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy $ $ + COMMAND_EXPAND_LISTS + ) +endif() + add_custom_command(TARGET simple_example_ffi POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy -t $ $ - COMMAND ${CMAKE_COMMAND} -E copy -t $ ${PROJECT_SOURCE_DIR}/hello_world_ffi.dart + COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/hello_world_ffi.dart $ COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/.dart_tool $/.dart_tool COMMAND_EXPAND_LISTS ) @@ -21,5 +27,3 @@ target_link_libraries(simple_example_ffi PUBLIC dart_dll) if (MSVC) set_property(TARGET simple_example_ffi PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $) endif() - -set(EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}/simple_example_ffi") \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 247004a..73690cd 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -32,12 +32,16 @@ endif() find_library(LIB_DART_DEBUG NAMES "${LIB_PREFIX}dart" - HINTS "${DART_DIR}/out/DebugX64/obj/runtime/bin" "${DART_DIR}/xcodebuild/ReleaseX64/obj/runtime/bin" + HINTS "${DART_DIR}/out/DebugX64/obj/runtime/bin" + "${DART_DIR}/xcodebuild/DebugX64/obj/runtime/bin" + "${DART_DIR}/xcodebuild/DebugARM64/obj/runtime/bin" ) find_library(LIB_DART_RELEASE NAMES "${LIB_PREFIX}dart" - HINTS "${DART_DIR}/out/ReleaseX64/obj/runtime/bin" "${DART_DIR}/xcodebuild/ReleaseX64/obj/runtime/bin" + HINTS "${DART_DIR}/out/ReleaseX64/obj/runtime/bin" + "${DART_DIR}/xcodebuild/ReleaseX64/obj/runtime/bin" + "${DART_DIR}/xcodebuild/ReleaseARM64/obj/runtime/bin" ) target_compile_definitions(dart_dll PRIVATE @@ -84,9 +88,15 @@ elseif(LINUX) ${CMAKE_DL_LIBS} ) elseif(APPLE) - set(CMAKE_C_COMPILER "${DART_DIR}/buildtools/mac-x64/clang/bin/clang") - set(CMAKE_CXX_COMPILER "${DART_DIR}/buildtools/mac-x64/clang/bin/clang++") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -nostdlib++ ${DART_DIR}/buildtools/mac-x64/clang/lib/libc++.a -framework Cocoa -framework QuartzCore -framework Security") + if(CMAKE_APPLE_SILICON_PROCESSOR STREQUAL "arm64") + set(CMAKE_C_COMPILER "${DART_DIR}/buildtools/mac-arm64/clang/bin/clang") + set(CMAKE_CXX_COMPILER "${DART_DIR}/buildtools/mac-arm64/clang/bin/clang++") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -nostdlib++ ${DART_DIR}/buildtools/mac-arm64/clang/lib/libc++.a -framework Cocoa -framework QuartzCore -framework Security") + else() + set(CMAKE_C_COMPILER "${DART_DIR}/buildtools/mac-x64/clang/bin/clang") + set(CMAKE_CXX_COMPILER "${DART_DIR}/buildtools/mac-x64/clang/bin/clang++") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -nostdlib++ ${DART_DIR}/buildtools/mac-x64/clang/lib/libc++.a -framework Cocoa -framework QuartzCore -framework Security") + endif() endif() if(LIB_DART_DEBUG)