1
1
CMAKE_MINIMUM_REQUIRED (VERSION 3.10)
2
2
3
- MESSAGE ("############# nim_win_demo ##############" )
4
-
5
- SET (CMAKE_CXX_STANDARD 11)
3
+ SET (CMAKE_CXX_STANDARD 14)
6
4
7
5
IF (NOT CMAKE_BUILD_TYPE )
8
6
SET (CMAKE_BUILD_TYPE "Debug" CACHE STRING "Choose the type of build." FORCE)
9
7
MESSAGE (STATUS "No CMAKE_BUILD_TYPE selected, defaulting to ${CMAKE_BUILD_TYPE} " )
10
8
ENDIF ()
11
9
12
10
SET (CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_LIST_DIR} CACHE PATH "default install prefix" FORCE)
13
- SET (BUILD_WITH_CONAN OFF CACHE BOOL "Build project with conan" )
14
- SET (BUILD_WITH_NERTC_G2 OFF CACHE BOOL "Build project with NeRTC G2" )
15
- set (INSTALL_CPP_WRAPPER OFF CACHE BOOL "Exports headers of C++ wrapper when called --target INSTALL" FORCE)
16
-
17
- IF (CMAKE_BUILD_TYPE MATCHES "Release" )
18
- ADD_DEFINITIONS (-DNDEBUG)
19
- ENDIF ()
20
11
21
12
IF (CMAKE_CL_64 )
22
13
ELSE ()
23
14
ADD_DEFINITIONS (-DSUPPORTLOCALPLAYER)
24
15
ENDIF ()
25
16
26
- SET (CONAN_DISABLE_CHECK_COMPILER ON )
27
17
SET (CMAKE_INCLUDE_CURRENT_DIR ON )
28
18
SET_PROPERTY (GLOBAL PROPERTY USE_FOLDERS ON )
29
19
SET_PROPERTY (GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "cmake" )
@@ -33,79 +23,77 @@ SET(GROUP_UI_COMPONENTS "ui_components")
33
23
SET (RELEASE_OUTPUT_7Z_FILE "${CMAKE_BINARY_DIR} /release.7z" )
34
24
STRING (REPLACE "/" "\\\\ " RELEASE_OUTPUT_7Z_FILE_WIN ${RELEASE_OUTPUT_7Z_FILE} )
35
25
36
- SET (NIM_CROSS_PLATFORM_SDK_FILE_NAME "nim-win32-ia32-9-9-0-383-build-1750145.tar.gz" )
37
- SET (DEBUG_THIRD_PARTY_LIBS "http://yx-web.nos.netease.com/package/1619605746/NIM_Windows_Demo_Build_Binaries_Debug.zip" )
38
- SET (RELEASE_THIRD_PARTY_LIBS "http://yx-web.nos.netease.com/package/1619605768/NIM_Windows_Demo_Build_Binaries_Release.zip" )
39
- SET (NIM_CROSS_PLATFORM_SDK_URL "https://yx-web-nosdn.netease.im/package/${NIM_CROSS_PLATFORM_SDK_FILE_NAME} " )
40
- SET (NERTC_SDK_URL "http://yx-web.nos.netease.com/package/1618217725/NERtc_Windows_SDK_v4.1.1.zip" )
26
+ # SET(NIM_CROSS_PLATFORM_SDK_FILE_NAME "nim-win32-ia32-9-9-0-383-build-1750145.tar.gz")
27
+ # SET(DEBUG_THIRD_PARTY_LIBS "http://yx-web.nos.netease.com/package/1619605746/NIM_Windows_Demo_Build_Binaries_Debug.zip")
28
+ # SET(RELEASE_THIRD_PARTY_LIBS "http://yx-web.nos.netease.com/package/1619605768/NIM_Windows_Demo_Build_Binaries_Release.zip")
29
+ # SET(NIM_CROSS_PLATFORM_SDK_URL "https://yx-web-nosdn.netease.im/package/1725941048477/nim-win32-ia32-release-10-5-0-3214-build-2690765.tar.gz ")
30
+ # SET(NERTC_SDK_URL "http://yx-web.nos.netease.com/package/1618217725/NERtc_Windows_SDK_v4.1.1.zip")
41
31
42
32
PROJECT (nim_win_demo)
43
33
44
34
# Build project with conan
45
- IF (BUILD_WITH_CONAN)
46
- # https://github.com/conan-io/cmake-conan
47
- # Download automatically, you can also just copy the conan.cmake file
48
- IF (NOT EXISTS "${CMAKE_BINARY_DIR} /conan.cmake" )
49
- MESSAGE (STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan" )
50
- FILE (DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/master/conan.cmake" "${CMAKE_BINARY_DIR} /conan.cmake" )
51
- ENDIF ()
52
- INCLUDE (${CMAKE_BINARY_DIR} /conan.cmake)
53
- conan_cmake_autodetect(settings)
54
- conan_cmake_install(PATH_OR_REFERENCE .. BUILD missing SETTINGS ${settings} )
55
- INCLUDE (${CMAKE_BINARY_DIR} /conanbuildinfo.cmake)
56
- conan_basic_setup()
57
- ENDIF ()
58
-
59
- # Remove bin lib and include folder
60
- file (REMOVE_RECURSE ${CMAKE_CURRENT_LIST_DIR} /bin)
61
- file (REMOVE_RECURSE ${CMAKE_CURRENT_LIST_DIR} /lib)
62
- file (REMOVE_RECURSE ${CMAKE_CURRENT_LIST_DIR} /include )
35
+ # https://github.com/conan-io/cmake-conan
36
+ # Download automatically, you can also just copy the conan.cmake file
37
+ IF (NOT EXISTS "${CMAKE_CURRENT_LIST_DIR} /.cmake/conan.cmake" )
38
+ MESSAGE (STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan" )
39
+ FILE (DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/master/conan.cmake" "${CMAKE_CURRENT_LIST_DIR} /.cmake/conan.cmake" )
40
+ ENDIF ()
41
+ INCLUDE (${CMAKE_CURRENT_LIST_DIR} /.cmake/conan.cmake)
42
+ conan_cmake_autodetect(settings)
43
+ conan_cmake_install(PATH_OR_REFERENCE .. BUILD missing SETTINGS ${settings} )
44
+ INCLUDE (${CMAKE_BINARY_DIR} /conanbuildinfo.cmake)
45
+ conan_basic_setup()
46
+
47
+ # # Remove bin lib and include folder
48
+ # file(REMOVE_RECURSE ${CMAKE_CURRENT_LIST_DIR}/bin)
49
+ # file(REMOVE_RECURSE ${CMAKE_CURRENT_LIST_DIR}/lib)
50
+ # file(REMOVE_RECURSE ${CMAKE_CURRENT_LIST_DIR}/include)
63
51
64
52
# Download third parties
65
- IF (CMAKE_BUILD_TYPE MATCHES Debug AND NOT BUILD_WITH_CONAN)
66
- IF (NOT EXISTS "${CMAKE_BINARY_DIR} /nim_demo_build_libraries_x86_debug.zip" )
67
- MESSAGE (STATUS "Downloading third party libraries from ${DEBUG_THIRD_PARTY_LIBS} " )
68
- FILE (DOWNLOAD ${DEBUG_THIRD_PARTY_LIBS} "${CMAKE_BINARY_DIR} /nim_demo_build_libraries_x86_debug.zip" )
69
- ENDIF ()
70
- EXECUTE_PROCESS (COMMAND ${CMAKE_COMMAND} -E tar -xf "${CMAKE_BINARY_DIR} /nim_demo_build_libraries_x86_debug.zip" WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} )
71
- ENDIF ()
72
- IF (CMAKE_BUILD_TYPE MATCHES Release AND NOT BUILD_WITH_CONAN)
73
- IF (NOT EXISTS "${CMAKE_BINARY_DIR} /nim_demo_build_libraries_x86_release.zip" )
74
- MESSAGE (STATUS "Downloading third party libraries from ${RELEASE_THIRD_PARTY_LIBS} " )
75
- FILE (DOWNLOAD "${RELEASE_THIRD_PARTY_LIBS} " "${CMAKE_BINARY_DIR} /nim_demo_build_libraries_x86_release.zip" )
76
- ENDIF ()
77
- EXECUTE_PROCESS (COMMAND ${CMAKE_COMMAND} -E tar -xf "${CMAKE_BINARY_DIR} /nim_demo_build_libraries_x86_release.zip" WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} )
78
- ENDIF ()
53
+ # IF (CMAKE_BUILD_TYPE MATCHES Debug AND NOT BUILD_WITH_CONAN)
54
+ # IF (NOT EXISTS "${CMAKE_BINARY_DIR}/nim_demo_build_libraries_x86_debug.zip")
55
+ # MESSAGE(STATUS "Downloading third party libraries from ${DEBUG_THIRD_PARTY_LIBS}")
56
+ # FILE(DOWNLOAD ${DEBUG_THIRD_PARTY_LIBS} "${CMAKE_BINARY_DIR}/nim_demo_build_libraries_x86_debug.zip")
57
+ # ENDIF ()
58
+ # EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar -xf "${CMAKE_BINARY_DIR}/nim_demo_build_libraries_x86_debug.zip" WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
59
+ # ENDIF ()
60
+ # IF (CMAKE_BUILD_TYPE MATCHES Release AND NOT BUILD_WITH_CONAN)
61
+ # IF (NOT EXISTS "${CMAKE_BINARY_DIR}/nim_demo_build_libraries_x86_release.zip")
62
+ # MESSAGE(STATUS "Downloading third party libraries from ${RELEASE_THIRD_PARTY_LIBS}")
63
+ # FILE(DOWNLOAD "${RELEASE_THIRD_PARTY_LIBS}" "${CMAKE_BINARY_DIR}/nim_demo_build_libraries_x86_release.zip")
64
+ # ENDIF ()
65
+ # EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar -xf "${CMAKE_BINARY_DIR}/nim_demo_build_libraries_x86_release.zip" WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
66
+ # ENDIF ()
79
67
80
68
# Downlaod NeRTC G2 SDK
81
- IF (NOT EXISTS "${CMAKE_BINARY_DIR} /nertc-SDK.zip" AND NOT BUILD_WITH_CONAN)
82
- MESSAGE (STATUS "Downloading NeRTC-SDK from ${NERTC_SDK_URL} " )
83
- FILE (DOWNLOAD ${NERTC_SDK_URL} ${CMAKE_BINARY_DIR} /nertc-SDK.zip)
84
- ENDIF ()
85
- EXECUTE_PROCESS (COMMAND ${CMAKE_COMMAND} -E tar -xf "${CMAKE_BINARY_DIR} /nertc-SDK.zip" WORKING_DIRECTORY ${CMAKE_BINARY_DIR} )
86
- FILE (GLOB_RECURSE NERTC_HEADER_FIELS ${CMAKE_BINARY_DIR} /nertc_sdk_windows*/*.h)
87
- FILE (GLOB_RECURSE NERTC_LIB_FIELS ${CMAKE_BINARY_DIR} /nertc_sdk_windows*/lib/x86/*.lib)
88
- FILE (GLOB_RECURSE NERTC_BINARY_FIELS ${CMAKE_BINARY_DIR} /nertc_sdk_windows*/dll/x86/*.dll)
89
-
90
- FILE (COPY ${NERTC_HEADER_FIELS} DESTINATION ${CMAKE_CURRENT_LIST_DIR} /include )
91
- FILE (COPY ${NERTC_LIB_FIELS} DESTINATION ${CMAKE_CURRENT_LIST_DIR} /lib)
92
- FILE (COPY ${NERTC_BINARY_FIELS} DESTINATION ${CMAKE_CURRENT_LIST_DIR} /bin)
69
+ # IF (NOT EXISTS "${CMAKE_BINARY_DIR}/nertc-SDK.zip" AND NOT BUILD_WITH_CONAN)
70
+ # MESSAGE(STATUS "Downloading NeRTC-SDK from ${NERTC_SDK_URL}")
71
+ # FILE(DOWNLOAD ${NERTC_SDK_URL} ${CMAKE_BINARY_DIR}/nertc-SDK.zip)
72
+ # ENDIF ()
73
+ # EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar -xf "${CMAKE_BINARY_DIR}/nertc-SDK.zip" WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
74
+ # FILE(GLOB_RECURSE NERTC_HEADER_FIELS ${CMAKE_BINARY_DIR}/nertc_sdk_windows*/*.h)
75
+ # FILE(GLOB_RECURSE NERTC_LIB_FIELS ${CMAKE_BINARY_DIR}/nertc_sdk_windows*/lib/x86/*.lib)
76
+ # FILE(GLOB_RECURSE NERTC_BINARY_FIELS ${CMAKE_BINARY_DIR}/nertc_sdk_windows*/dll/x86/*.dll)
77
+
78
+ # FILE(COPY ${NERTC_HEADER_FIELS} DESTINATION ${CMAKE_CURRENT_LIST_DIR}/include)
79
+ # FILE(COPY ${NERTC_LIB_FIELS} DESTINATION ${CMAKE_CURRENT_LIST_DIR}/lib)
80
+ # FILE(COPY ${NERTC_BINARY_FIELS} DESTINATION ${CMAKE_CURRENT_LIST_DIR}/bin)
93
81
94
82
# Copy Resources
95
- execute_process ( COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_LIST_DIR} /resource ${CMAKE_CURRENT_LIST_DIR} /bin)
83
+ # execute_process( COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_LIST_DIR}/resource ${CMAKE_CURRENT_LIST_DIR}/bin)
96
84
97
85
# Download NeIM SDK
98
- IF (NOT EXISTS "${CMAKE_BINARY_DIR} /nim-cross-platform-SDK.zip" AND NOT BUILD_WITH_CONAN)
99
- MESSAGE (STATUS "Downloading NIM cross-platform SDK from ${NIM_CROSS_PLATFORM_SDK_URL} " )
100
- FILE (DOWNLOAD ${NIM_CROSS_PLATFORM_SDK_URL} ${CMAKE_BINARY_DIR} /${NIM_CROSS_PLATFORM_SDK_FILE_NAME} )
101
- ENDIF ()
102
- EXECUTE_PROCESS (COMMAND ${CMAKE_COMMAND} -E tar -xf ${CMAKE_BINARY_DIR} /${NIM_CROSS_PLATFORM_SDK_FILE_NAME} WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} )
103
- # EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar -xf ${CMAKE_BINARY_DIR}/nim-win32-ia32-refs-tags-9.4.0.1554-build.166.tar.gz WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
104
- IF (NOT BUILD_WITH_CONAN)
105
- ADD_SUBDIRECTORY (wrapper)
106
- INCLUDE_DIRECTORIES (wrapper)
107
- LINK_DIRECTORIES (${CMAKE_CURRENT_LIST_DIR} /wrapper)
108
- ENDIF ()
86
+ # IF (NOT EXISTS "${CMAKE_BINARY_DIR}/nim-cross-platform-SDK.zip" AND NOT BUILD_WITH_CONAN)
87
+ # MESSAGE(STATUS "Downloading NIM cross-platform SDK from ${NIM_CROSS_PLATFORM_SDK_URL}")
88
+ # FILE(DOWNLOAD ${NIM_CROSS_PLATFORM_SDK_URL} ${CMAKE_BINARY_DIR}/${NIM_CROSS_PLATFORM_SDK_FILE_NAME})
89
+ # ENDIF ()
90
+ # EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar -xf ${CMAKE_BINARY_DIR}/${NIM_CROSS_PLATFORM_SDK_FILE_NAME} WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
91
+ # # EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar -xf ${CMAKE_BINARY_DIR}/nim-win32-ia32-refs-tags-9.4.0.1554-build.166.tar.gz WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
92
+ # IF (NOT BUILD_WITH_CONAN)
93
+ # ADD_SUBDIRECTORY(wrapper)
94
+ # INCLUDE_DIRECTORIES(wrapper)
95
+ # LINK_DIRECTORIES(${CMAKE_CURRENT_LIST_DIR}/wrapper)
96
+ # ENDIF ()
109
97
110
98
ADD_DEFINITIONS (
111
99
-DUNICODE
@@ -114,9 +102,7 @@ ADD_DEFINITIONS(
114
102
-DBUILD_WITH_XML_UTIL
115
103
)
116
104
117
- IF (BUILD_WITH_NERTC_G2)
118
- ADD_DEFINITIONS (-DUSING_RTC_G2)
119
- ENDIF ()
105
+ ADD_DEFINITIONS (-DUSING_RTC_G2)
120
106
121
107
# Git information
122
108
LIST (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR} /.cmake/" )
@@ -161,10 +147,8 @@ ADD_SUBDIRECTORY(tool_kits/ui_component/nim_service)
161
147
ADD_SUBDIRECTORY (tool_kits/ui_component/ui_kit)
162
148
ADD_SUBDIRECTORY (tool_kits/cef/cef_module)
163
149
ADD_SUBDIRECTORY (tool_kits/cef/cef_render)
164
- ADD_SUBDIRECTORY (tool_kits/cef/cef_wrapper)
165
150
ADD_SUBDIRECTORY (app_sdk)
166
151
ADD_SUBDIRECTORY (nim_win_demo)
167
- # uninstall
168
152
ADD_SUBDIRECTORY (tool_kits/uninstall)
169
153
170
154
SET_PROPERTY (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT nim_demo)
0 commit comments