File tree 7 files changed +45
-15
lines changed
7 files changed +45
-15
lines changed Original file line number Diff line number Diff line change 28
28
working-directory : ./scripts/build_helpers
29
29
- name : Build Dart
30
30
run : dart ./scripts/build_helpers/bin/build_dart.dart -v
31
- - uses : threeal/cmake-action@v1.3.0
31
+ - name : Cmake
32
+ uses : threeal/cmake-action@v1.3.0
33
+ with :
34
+ options :
35
+ " BUILD_SAMPLES=OFF"
32
36
- name : Build Shared Library
33
37
run : cmake --build build --config release
34
38
- name : Assemble artifacts
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 @@ -3,6 +3,8 @@ cmake_minimum_required(VERSION 3.21)
3
3
project (realtime_example)
4
4
set (CMAKE_CXX_STANDARD 17)
5
5
6
+ set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} )
7
+
6
8
set (CUTE_FRAMEWORK_STATIC ON )
7
9
set (CF_FRAMEWORK_BUILD_TESTS OFF )
8
10
# Samples Build on Windows Falied
@@ -32,14 +34,17 @@ if(LINUX)
32
34
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -export-dynamic" )
33
35
endif ()
34
36
35
- add_custom_command ( TARGET realtime_example POST_BUILD
37
+ add_custom_target (ALWAYS_DO_POST_BUILD
36
38
COMMAND ${CMAKE_COMMAND} -E copy -t $<TARGET_FILE_DIR:realtime_example> $<TARGET_RUNTIME_DLLS:simple_example_ffi>
37
39
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR} /dart $<TARGET_FILE_DIR:realtime_example>/dart
38
40
COMMAND_EXPAND_LISTS
39
41
)
42
+ add_dependencies (realtime_example ALWAYS_DO_POST_BUILD)
40
43
41
44
target_link_libraries (realtime_example PUBLIC dart_dll cute)
42
45
43
46
if (MSVC )
44
47
set_property (TARGET realtime_example PROPERTY VS_DEBUGGER_WORKING_DIRECTORY $<TARGET_FILE_DIR:realtime_example>)
45
- endif ()
48
+ endif ()
49
+
50
+ 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