77INCLUDE (ProcessorCount) # require CMake 3.15+
88PROCESSORCOUNT(_cpu_count)
99
10- SET (_target
11- "RV_DEPS_GC"
12- )
13-
14- SET (_version
15- "8.2.2"
16- )
10+ RV_CREATE_STANDARD_DEPS_VARIABLES("RV_DEPS_GC" "8.2.2" "" "" )
1711
1812SET (_download_url
1913 "https://github.com/ivmai/bdwgc/archive/refs/tags/v${_version} .zip"
@@ -26,42 +20,16 @@ SET(_install_dir
2620 ${RV_DEPS_BASE_DIR} /${_target} /install
2721)
2822
29- SET (_make_command
30- make
31- )
32- SET (_autogen_command
33- sh ./autogen.sh
34- )
35- SET (_configure_command
36- sh ./configure
37- )
38-
39- IF (${RV_OSX_EMULATION} )
40- SET (_darwin_x86_64
41- "arch" "${RV_OSX_EMULATION_ARCH} "
42- )
43-
44- SET (_make_command
45- ${_darwin_x86_64} ${_make_command}
46- )
47- SET (_autogen_command
48- ${_darwin_x86_64} ${_autogen_command}
49- )
50- SET (_configure_command
51- ${_darwin_x86_64} ${_configure_command}
23+ IF (RV_TARGET_LINUX)
24+ SET (_lib_dir
25+ ${_install_dir} /lib64
5226 )
53- ENDIF ()
54- IF (RV_TARGET_WINDOWS)
55- # MSYS2/CMake defaults to Ninja
56- SET (_make_command
57- ninja
27+ ELSE ()
28+ SET (_lib_dir
29+ ${_install_dir} /lib
5830 )
5931ENDIF ()
6032
61- SET (_lib_dir
62- ${_install_dir} /lib
63- )
64-
6533SET (_gc_lib_name
6634 ${CMAKE_SHARED_LIBRARY_PREFIX} gc.1${CMAKE_SHARED_LIBRARY_SUFFIX}
6735)
@@ -115,64 +83,33 @@ SET(_include_dir
11583)
11684FILE (MAKE_DIRECTORY ${_include_dir} )
11785
86+ LIST (APPEND _configure_options "-Denable_parallel_mark=ON" )
87+ LIST (APPEND _configure_options "-Denable_cplusplus=ON" )
11888IF (RV_TARGET_WINDOWS)
119- SET (_cmake_configure_command
120- ${CMAKE_COMMAND}
121- )
122- LIST (APPEND _cmake_configure_command "-DCMAKE_INSTALL_PREFIX=${_install_dir} " )
123- LIST (APPEND _cmake_configure_command "-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} " )
124- LIST (APPEND _cmake_configure_command "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} " )
125- LIST (APPEND _cmake_configure_command "-Denable_parallel_mark=ON" )
126- LIST (APPEND _cmake_configure_command "-Denable_cplusplus=ON" )
127- LIST (APPEND _cmake_configure_command "-DCMAKE_USE_WIN32_THREADS_INIT=1" )
128- LIST (APPEND _cmake_configure_command "${RV_DEPS_BASE_DIR} /${_target} /src" )
129- EXTERNALPROJECT_ADD(
130- ${_target}
131- DOWNLOAD_NAME ${_target} _${_version} .zip
132- DOWNLOAD_DIR ${RV_DEPS_DOWNLOAD_DIR}
133- DOWNLOAD_EXTRACT_TIMESTAMP TRUE
134- SOURCE_DIR ${RV_DEPS_BASE_DIR} /${_target} /src
135- INSTALL_DIR ${_install_dir}
136- URL ${_download_url}
137- URL_MD5 ${_download_hash}
138- CONFIGURE_COMMAND ${_cmake_configure_command}
139- BUILD_COMMAND ${_make_command} -j${_cpu_count}
140- INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory ${RV_DEPS_BASE_DIR} /${_target} /src/include ${_include_dir} /gc
141- COMMAND ${CMAKE_COMMAND} -E copy ${RV_DEPS_BASE_DIR} /${_target} /src/${_gc_lib_name} ${_gc_lib}
142- BUILD_IN_SOURCE TRUE
143- BUILD_ALWAYS FALSE
144- BUILD_BYPRODUCTS ${_gc_byproducts}
145- USES_TERMINAL_BUILD TRUE
146- )
147- ADD_LIBRARY (BDWGC::Gc STATIC IMPORTED GLOBAL )
89+ LIST (APPEND _configure_options "-DCMAKE_USE_WIN32_THREADS_INIT=1" )
14890ELSE ()
149- SET (_configure_args
150- "--enable-cplusplus"
151- )
152- LIST (APPEND _configure_args "--prefix=${_install_dir} " )
153-
154- EXTERNALPROJECT_ADD(
155- ${_target}
156- DOWNLOAD_NAME ${_target} _${_version} .zip
157- DOWNLOAD_DIR ${RV_DEPS_DOWNLOAD_DIR}
158- DOWNLOAD_EXTRACT_TIMESTAMP TRUE
159- SOURCE_DIR ${RV_DEPS_BASE_DIR} /${_target} /src
160- INSTALL_DIR ${_install_dir}
161- URL ${_download_url}
162- URL_MD5 ${_download_hash}
163- CONFIGURE_COMMAND ${_autogen_command} && ${_configure_command} ${_configure_args}
164- BUILD_COMMAND ${_make_command} -j${_cpu_count}
165- INSTALL_COMMAND ${_make_command} install
166- COMMAND ${CMAKE_COMMAND} -E copy_directory ${_install_dir} ${CMAKE_BINARY_DIR}
167- COMMAND ${CMAKE_COMMAND} -E copy_directory ${_install_dir} /lib ${RV_STAGE_LIB_DIR}
168- BUILD_IN_SOURCE TRUE
169- BUILD_ALWAYS FALSE
170- BUILD_BYPRODUCTS ${_gc_byproducts}
171- USES_TERMINAL_BUILD TRUE
172- )
173- ADD_LIBRARY (BDWGC::Gc SHARED IMPORTED GLOBAL )
91+ LIST (APPEND _configure_options "-DCMAKE_USE_PTHREADS_INIT=1" )
17492ENDIF ()
17593
94+ EXTERNALPROJECT_ADD(
95+ ${_target}
96+ DOWNLOAD_NAME ${_target} _${_version} .zip
97+ DOWNLOAD_DIR ${RV_DEPS_DOWNLOAD_DIR}
98+ DOWNLOAD_EXTRACT_TIMESTAMP TRUE
99+ SOURCE_DIR ${RV_DEPS_BASE_DIR} /${_target} /src
100+ INSTALL_DIR ${_install_dir}
101+ URL ${_download_url}
102+ URL_MD5 ${_download_hash}
103+ CONFIGURE_COMMAND ${CMAKE_COMMAND} ${_configure_options}
104+ BUILD_COMMAND ${_cmake_build_command}
105+ INSTALL_COMMAND ${_cmake_install_command}
106+ BUILD_IN_SOURCE TRUE
107+ BUILD_ALWAYS FALSE
108+ BUILD_BYPRODUCTS ${_gc_byproducts}
109+ USES_TERMINAL_BUILD TRUE
110+ )
111+ ADD_LIBRARY (BDWGC::Gc STATIC IMPORTED GLOBAL )
112+
176113ADD_DEPENDENCIES (BDWGC::Gc ${_target} )
177114SET_PROPERTY (
178115 TARGET BDWGC::Gc
0 commit comments