File tree 7 files changed +38
-14
lines changed
7 files changed +38
-14
lines changed Original file line number Diff line number Diff line change 30
30
run : dart ./scripts/build_helpers/bin/build_dart.dart -v
31
31
32
32
- name : Build Shared Library
33
- run : cmake --build build --config release
33
+ run : cmake --build build --config release -DBUILD_SAMPLES=OFF
34
34
- name : Assemble artifacts
35
35
run : dart ./scripts/build_helpers/bin/assemble_artifacts.dart
36
36
- name : ' Upload Artifact'
Original file line number Diff line number Diff line change 1
1
dart-sdk /*
2
2
.build /*
3
3
build /*
4
- artifacts /*
4
+ artifacts /*
5
+ depot_tools /*
6
+ out /*
7
+ .vs
Original file line number Diff line number Diff line change @@ -2,10 +2,20 @@ cmake_minimum_required(VERSION 3.21)
2
2
3
3
project (DartSharedLibrary VERSION 0.1)
4
4
5
+ option (BUILD_SMAPLES "Build the Sampels" ON )
6
+
5
7
set (CMAKE_CXX_STANDARD 11)
6
8
set (CMAKE_CXX_STANDARD_REQUIRED True )
7
9
set (DART_DLL_DIR "${PROJECT_SOURCE_DIR} /src" )
8
10
set (DART_DIR "${PROJECT_SOURCE_DIR} /dart-sdk/sdk" )
9
11
12
+ set (OUTPUT_DEBUG "${OUTPUT_PATH_EXT} /Debug" )
13
+ set (OUTPUT_RELEASE "${OUTPUT_PATH_EXT} /Release" )
14
+ set (CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR} /out/$<$<CONFIG:DEBUG>:${OUTPUT_DEBUG} >$<$<CONFIG:RELEASE>:${OUTPUT_RELEASE} >" )
15
+ set (EXECUTABLE_OUTPUT_PATH "${PROJECT_SOURCE_DIR} /out/${OUTPUT_PATH_EXT} /${CMAKE_BUILD_TYPE} " )
16
+ set (LIBRARY_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR} /out/${OUTPUT_PATH_EXT} /${CMAKE_BUILD_TYPE} " )
17
+
10
18
add_subdirectory (src)
11
- add_subdirectory (examples)
19
+ if (BUILD_SAMPLES)
20
+ add_subdirectory (examples)
21
+ endif ()
Original file line number Diff line number Diff line change @@ -42,4 +42,7 @@ target_link_libraries(realtime_example PUBLIC dart_dll cute)
42
42
43
43
if (MSVC )
44
44
set_property (TARGET realtime_example PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $<TARGET_FILE_DIR:realtime_example>)
45
- endif ()
45
+ endif ()
46
+
47
+
48
+ set (EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH} /realtime_example" )
Original file line number Diff line number Diff line change @@ -15,10 +15,10 @@ add_custom_command(TARGET simple_example POST_BUILD
15
15
COMMAND_EXPAND_LISTS
16
16
)
17
17
18
- add_dependencies (simple_example ALWAYS_DO_POST_BUILD)
19
-
20
18
target_link_libraries (simple_example PUBLIC dart_dll)
21
19
22
20
if (MSVC )
23
- set_property (TARGET simple_example PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $<TARGET_FILE_DIR:simple_example>)
24
- endif ()
21
+ set_property (TARGET realtime_example PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $<TARGET_FILE_DIR:simple_example>)
22
+ endif ()
23
+
24
+ set (EXECUTABLE_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH} /simple_example" )
Original file line number Diff line number Diff line change @@ -16,4 +16,8 @@ add_custom_command(TARGET simple_example_ffi POST_BUILD
16
16
COMMAND_EXPAND_LISTS
17
17
)
18
18
19
+ if (MSVC )
20
+ set_property (TARGET realtime_example PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $<TARGET_FILE_DIR:simple_example_ffi>)
21
+ endif ()
22
+
19
23
target_link_libraries (simple_example_ffi PUBLIC dart_dll)
Original file line number Diff line number Diff line change 1
- cmake_minimum_required (VERSION 3.15 )
1
+ cmake_minimum_required (VERSION 3.21 )
2
2
3
3
project (dart_dll VERSION 0.1.2)
4
4
@@ -14,16 +14,22 @@ add_library(dart_dll SHARED
14
14
isolate_setup.cpp
15
15
)
16
16
17
- target_include_directories (dart_dll PUBLIC
17
+ target_include_directories (dart_dll PRIVATE
18
18
"${DART_DIR} /runtime"
19
19
)
20
20
21
21
if (WIN32 )
22
22
set (LIB_PREFIX "lib" )
23
23
endif ()
24
24
25
+ cmake_path(ABSOLUTE_PATH DART_DIR NORMALIZE OUTPUT_VARIABLE DART_DIR)
26
+
25
27
MESSAGE (STATUS "Dart SDK ${DART_DIR} " )
26
28
29
+ if (NOT EXISTS "${DART_DIR} /runtime/include/dart_api.h" )
30
+ MESSAGE (FATAL_ERROR "Missing Dart SDK or not found" )
31
+ endif ()
32
+
27
33
find_library (LIB_DART_DEBUG
28
34
NAMES "${LIB_PREFIX} dart"
29
35
HINTS "${DART_DIR} /out/DebugX64/obj/runtime/bin" "${DART_DIR} /xcodebuild/ReleaseX64/obj/runtime/bin"
@@ -41,10 +47,6 @@ target_compile_definitions(dart_dll PRIVATE
41
47
)
42
48
43
49
if (WIN32 )
44
- set_property (TARGET dart_dll PROPERTY
45
- MSVC_RUNTIME_LIBRARY "MultiThreaded"
46
- )
47
-
48
50
target_compile_definitions (dart_dll PRIVATE
49
51
_HAS_EXCEPTIONS=0
50
52
_SCL_SECURE=0
@@ -87,6 +89,8 @@ endif()
87
89
88
90
if (LIB_DART_DEBUG)
89
91
target_link_libraries (dart_dll debug ${LIB_DART_DEBUG} )
92
+ else ()
93
+ target_link_libraries (dart_dll debug ${LIB_DART_RELEASE} )
90
94
endif ()
91
95
92
96
target_link_libraries (dart_dll optimized ${LIB_DART_RELEASE} )
You can’t perform that action at this time.
0 commit comments