Skip to content

Commit 2eaf52c

Browse files
authored
Remove old cxx common logic (#500)
* Remove old cxx-common references * Test on this branch first * Revert "Test on this branch first" This reverts commit 888b584.
1 parent 2b241b8 commit 2eaf52c

File tree

11 files changed

+131
-974
lines changed

11 files changed

+131
-974
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,3 +224,21 @@ jobs:
224224
asset_path: remill_macos-10.15_packages.zip
225225
asset_name: remill_macos-10.15_packages.zip
226226
asset_content_type: application/gzip
227+
228+
229+
Docker_Linux:
230+
runs-on: ubuntu-latest
231+
strategy:
232+
matrix:
233+
llvm: ["11"]
234+
ubuntu: ["18.04"]
235+
steps:
236+
- uses: actions/checkout@v2
237+
- name: Build LLVM ${{ matrix.llvm }} on ${{ matrix.ubuntu }}
238+
run: |
239+
docker build . -t docker.pkg.github.com/lifting-bits/remill/remill-llvm${{ matrix.llvm }}-ubuntu${{ matrix.ubuntu }}-amd64:latest -f Dockerfile --build-arg UBUNTU_VERSION=${{ matrix.ubuntu }} --build-arg ARCH=amd64 --build-arg LLVM_VERSION=${{ matrix.llvm }}
240+
- name: Test Docker image
241+
run: |
242+
docker run --rm docker.pkg.github.com/lifting-bits/remill/remill-llvm${{ matrix.llvm }}-ubuntu${{ matrix.ubuntu }}-amd64:latest --arch amd64 --ir_out /dev/stdout --bytes c704ba01000000
243+
docker run --rm docker.pkg.github.com/lifting-bits/remill/remill-llvm${{ matrix.llvm }}-ubuntu${{ matrix.ubuntu }}-amd64:latest --arch aarch64 --ir_out /dev/stdout --address 0x400544 --bytes FD7BBFA90000009000601891FD030091B7FFFF97E0031F2AFD7BC1A8C0035FD6
244+
docker run --rm docker.pkg.github.com/lifting-bits/remill/remill-llvm${{ matrix.llvm }}-ubuntu${{ matrix.ubuntu }}-amd64:latest --arch aarch32 -ir_out /dev/stderr --bytes 0cd04de208008de504108de500208de508309de504009de500109de5903122e0c20fa0e110109fe5001091e5002081e5040081e50cd08de21eff2fe14000000000000000

CMakeLists.txt

Lines changed: 54 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -12,75 +12,38 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
if (NOT DEFINED ENV{TRAILOFBITS_LIBRARIES})
16-
message(STATUS "Using new vcpkg build system")
17-
include(CMakeLists_vcpkg.txt)
18-
return()
19-
endif()
15+
include(cmake/vcpkg_helper.cmake)
2016

2117
project(remill)
2218
cmake_minimum_required(VERSION 3.14)
23-
2419
include(GNUInstallDirs)
2520

2621
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/settings.cmake")
27-
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/utils.cmake")
28-
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/BCCompiler.cmake")
22+
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/utils_vcpkg.cmake")
2923
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/ccache.cmake")
3024
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
3125
include(CTest)
3226

33-
if (LLVM_Z3_INSTALL_DIR)
34-
find_package(Z3 4.7.1)
35-
set(need_z3 TRUE)
36-
elseif(DEFINED CXX_COMMON_REPOSITORY_ROOT)
37-
set(LLVM_Z3_INSTALL_DIR "${CXX_COMMON_REPOSITORY_ROOT}/z3" CACHE PATH "Path to the z3 installation")
38-
set(need_z3 TRUE)
39-
else()
40-
set(need_z3 FALSE)
41-
endif()
42-
43-
if(need_z3)
44-
find_package(Z3 4.7.1)
45-
if (NOT Z3_FOUND)
46-
message(WARNING "Z3 >= 4.7.1 has not been found in LLVM_Z3_INSTALL_DIR: ${LLVM_Z3_INSTALL_DIR}.")
47-
endif()
48-
endif()
49-
5027
configureCcache()
5128
FindAndSelectClangCompiler()
5229

5330
enable_language(C CXX ASM)
5431

5532
set(REMILL_SOURCE_DIR "${PROJECT_SOURCE_DIR}")
5633

57-
if(DEFINED WIN32)
58-
set(dynamic_lib_prefix "")
59-
set(dynamic_lib_extension "dll")
60-
set(static_lib_prefix "")
61-
set(static_lib_extension "lib")
62-
set(executable_extension ".exe")
63-
set(install_folder "${CMAKE_INSTALL_PREFIX}/remill")
64-
else()
65-
set(dynamic_lib_prefix "lib")
66-
set(dynamic_lib_extension "so")
67-
set(static_lib_prefix "lib")
68-
set(static_lib_extension "a")
69-
set(executable_extension "")
70-
set(install_folder "${CMAKE_INSTALL_PREFIX}")
71-
endif()
72-
73-
set(REMILL_INSTALL_LIB_DIR "${install_folder}/lib" CACHE PATH "Directory in which remill libraries will be installed")
74-
set(REMILL_INSTALL_BIN_DIR "${install_folder}/bin" CACHE PATH "Directory in which remill binaries will be installed")
75-
set(REMILL_INSTALL_INCLUDE_DIR "${install_folder}/include" CACHE PATH "Directory in which remill headers will be installed")
76-
set(REMILL_INSTALL_SHARE_DIR "${install_folder}/share" CACHE PATH "Directory in which remill cmake files will be installed")
34+
set(REMILL_INSTALL_LIB_DIR "${CMAKE_INSTALL_LIBDIR}" CACHE PATH "Directory in which remill libraries will be installed")
35+
set(REMILL_INSTALL_BIN_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH "Directory in which remill binaries will be installed")
36+
set(REMILL_INSTALL_INCLUDE_DIR "${CMAKE_INSTALL_INCLUDEDIR}/remill" CACHE PATH "Directory in which remill headers will be installed")
37+
set(REMILL_INSTALL_SHARE_DIR "${CMAKE_INSTALL_DATADIR}" CACHE PATH "Directory in which remill cmake files will be installed")
7738

7839
#
7940
# libraries
8041
#
8142

8243
# LLVM
83-
find_package(LLVM REQUIRED CONFIG HINTS ${FINDPACKAGE_LLVM_HINTS})
44+
find_package(LLVM CONFIG REQUIRED)
45+
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
46+
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
8447

8548
string(REPLACE "." ";" LLVM_VERSION_LIST ${LLVM_PACKAGE_VERSION})
8649
list(GET LLVM_VERSION_LIST 0 LLVM_MAJOR_VERSION)
@@ -93,6 +56,7 @@ target_include_directories(thirdparty_llvm SYSTEM INTERFACE
9356
target_compile_definitions(thirdparty_llvm INTERFACE
9457
${LLVM_DEFINITIONS}
9558
)
59+
include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/BCCompiler.cmake")
9660

9761
# Go find only the static libraries of LLVM, and link against those.
9862
foreach(LLVM_LIB IN LISTS LLVM_AVAILABLE_LIBS)
@@ -105,40 +69,41 @@ endforeach()
10569
# These are out-of-order in `LLVM_AVAILABLE_LIBS` and should always be last.
10670
list(REMOVE_ITEM LLVM_LIBRARIES LLVMMC LLVMCore LLVMSupport)
10771
list(APPEND LLVM_LIBRARIES LLVMMC LLVMCore LLVMSupport)
72+
10873
target_link_libraries(thirdparty_llvm INTERFACE
10974
${LLVM_LIBRARIES}
11075
)
11176

112-
# Microsoft Z3
113-
add_library(thirdparty_z3 INTERFACE)
114-
if(Z3_FOUND)
115-
target_include_directories(thirdparty_z3 SYSTEM INTERFACE
116-
${Z3_INCLUDE_DIR}
117-
)
118-
target_link_libraries(thirdparty_z3 INTERFACE
119-
${Z3_LIBRARIES}
120-
)
77+
# Microsoft Z3 with LLVM. Not exactly used in remill, but LLVM doesn't link
78+
# against it correctly
79+
# NOTE: If changing this, also replicate in remillConfig file
80+
if (LLVM_WITH_Z3)
81+
find_package(Z3 CONFIG REQUIRED 4.7.1)
82+
get_target_property(LLVMSupport_LIBS LLVMSupport INTERFACE_LINK_LIBRARIES)
83+
list(REMOVE_ITEM LLVMSupport_LIBS Z3)
84+
list(APPEND LLVMSupport_LIBS z3::libz3)
85+
set_target_properties(LLVMSupport PROPERTIES
86+
INTERFACE_LINK_LIBRARIES "${LLVMSupport_LIBS}")
12187
endif()
12288

89+
message(STATUS "LLVM Libraries: ${LLVM_LIBRARIES}")
90+
12391
# Intel XED
124-
find_package(XED REQUIRED)
92+
find_package(XED CONFIG REQUIRED)
12593
add_library(thirdparty_xed INTERFACE)
126-
target_include_directories(thirdparty_xed SYSTEM INTERFACE
127-
${XED_INCLUDE_DIRS}
128-
)
12994
target_link_libraries(thirdparty_xed INTERFACE
130-
${XED_LIBRARIES}
95+
XED::XED
13196
)
13297

13398
# Google glog module
134-
find_package(glog REQUIRED)
99+
find_package(glog CONFIG REQUIRED)
135100
add_library(thirdparty_glog INTERFACE)
136101
target_link_libraries(thirdparty_glog INTERFACE
137102
glog::glog
138103
)
139104

140105
# Google gflags
141-
find_package(gflags REQUIRED)
106+
find_package(gflags CONFIG REQUIRED)
142107
add_library(thirdparty_gflags INTERFACE)
143108
target_link_libraries(thirdparty_gflags INTERFACE
144109
gflags
@@ -173,32 +138,33 @@ option(REMILL_BUILD_SPARC32_RUNTIME "Build the Runtime for SPARC32. Turn this of
173138
# target settings
174139
#
175140

176-
set(REMILL_LLVM_VERSION "${LLVM_MAJOR_VERSION}.${LLVM_MINOR_VERSION}")
141+
set(REMILL_LLVM_VERSION "${LLVM_MAJOR_VERSION}")
142+
message("Remill llvm version: ${REMILL_LLVM_VERSION}")
177143
math(EXPR REMILL_LLVM_VERSION_NUMBER "${LLVM_MAJOR_VERSION} * 100 + ${LLVM_MINOR_VERSION}")
178144

179-
if(DEFINED WIN32)
180-
set(REMILL_INSTALL_SEMANTICS_DIR "${install_folder}/${REMILL_LLVM_VERSION}/semantics" CACHE PATH "Directory into which semantics are installed")
181-
else()
182-
set(REMILL_INSTALL_SEMANTICS_DIR "${REMILL_INSTALL_SHARE_DIR}/remill/${REMILL_LLVM_VERSION}/semantics" CACHE PATH "Directory into which semantics are installed")
183-
endif()
145+
set(REMILL_INSTALL_SEMANTICS_DIR "${CMAKE_INSTALL_PREFIX}/${REMILL_INSTALL_SHARE_DIR}/remill/${REMILL_LLVM_VERSION}/semantics" CACHE PATH "Directory into which semantics are installed")
184146

185147
set(REMILL_BUILD_SEMANTICS_DIR_X86 "${CMAKE_CURRENT_BINARY_DIR}/lib/Arch/X86/Runtime")
186148
set(REMILL_BUILD_SEMANTICS_DIR_AARCH32 "${CMAKE_CURRENT_BINARY_DIR}/lib/Arch/AArch32/Runtime")
187149
set(REMILL_BUILD_SEMANTICS_DIR_AARCH64 "${CMAKE_CURRENT_BINARY_DIR}/lib/Arch/AArch64/Runtime")
188150
set(REMILL_BUILD_SEMANTICS_DIR_SPARC32 "${CMAKE_CURRENT_BINARY_DIR}/lib/Arch/SPARC32/Runtime")
189151
set(REMILL_BUILD_SEMANTICS_DIR_SPARC64 "${CMAKE_CURRENT_BINARY_DIR}/lib/Arch/SPARC64/Runtime")
190152

153+
# add everything as public.
191154
set(REMILL_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include")
192155
set(REMILL_LIB_DIR "${CMAKE_CURRENT_SOURCE_DIR}/lib")
193156

194157
add_library(remill_settings INTERFACE)
195158

196-
target_include_directories(remill_settings INTERFACE "${REMILL_INCLUDE_DIR}")
159+
target_include_directories(remill_settings INTERFACE
160+
$<BUILD_INTERFACE:${REMILL_INCLUDE_DIR}>
161+
$<INSTALL_INTERFACE:include>)
197162

198163
if(WIN32)
199164
# warnings and compiler settings
200165
target_compile_options(remill_settings INTERFACE
201-
/MD /nologo /W3 /EHsc /wd4141 /wd4146 /wd4180 /wd4244
166+
"$<$<CONFIG:Debug>:/MDd>$<$<CONFIG:Release>:/MD>"
167+
/nologo /W3 /EHsc /wd4141 /wd4146 /wd4180 /wd4244
202168
/wd4258 /wd4267 /wd4291 /wd4345 /wd4351 /wd4355 /wd4456
203169
/wd4457 /wd4458 /wd4459 /wd4503 /wd4624 /wd4722 /wd4800
204170
/wd4100 /wd4127 /wd4512 /wd4505 /wd4610 /wd4510 /wd4702
@@ -264,23 +230,20 @@ else()
264230
endif()
265231

266232
target_compile_definitions(remill_settings INTERFACE
267-
"REMILL_INSTALL_SEMANTICS_DIR=\"${REMILL_INSTALL_SEMANTICS_DIR}/\""
233+
"REMILL_INSTALL_SEMANTICS_DIR=\"${REMILL_INSTALL_SEMANTICS_DIR}\""
268234
"REMILL_BUILD_SEMANTICS_DIR_X86=\"${REMILL_BUILD_SEMANTICS_DIR_X86}\""
269235
"REMILL_BUILD_SEMANTICS_DIR_AARCH32=\"${REMILL_BUILD_SEMANTICS_DIR_AARCH32}\""
270236
"REMILL_BUILD_SEMANTICS_DIR_AARCH64=\"${REMILL_BUILD_SEMANTICS_DIR_AARCH64}\""
271237
"REMILL_BUILD_SEMANTICS_DIR_SPARC32=\"${REMILL_BUILD_SEMANTICS_DIR_SPARC32}\""
272238
"REMILL_BUILD_SEMANTICS_DIR_SPARC64=\"${REMILL_BUILD_SEMANTICS_DIR_SPARC64}\""
273239
)
274240

275-
set(THIRDPARTY_LIBRARY_LIST thirdparty_z3
276-
thirdparty_llvm
277-
thirdparty_xed
278-
thirdparty_glog
279-
thirdparty_gflags)
280-
241+
set(THIRDPARTY_LIBRARY_LIST thirdparty_llvm thirdparty_xed thirdparty_glog thirdparty_gflags)
281242
target_link_libraries(remill_settings INTERFACE
282243
${THIRDPARTY_LIBRARY_LIST}
283244
)
245+
install(TARGETS remill_settings ${THIRDPARTY_LIBRARY_LIST}
246+
EXPORT remillTargets)
284247

285248
add_subdirectory(lib/Arch)
286249
add_subdirectory(lib/BC)
@@ -297,69 +260,18 @@ target_link_libraries(remill INTERFACE
297260
remill_version
298261
${LINKER_END_GROUP}
299262
)
263+
install(TARGETS remill EXPORT remillTargets)
300264

301265
#
302266
# Also install clang, libllvm and llvm-link
303267
#
304268

305-
set(INSTALLED_CLANG_NAME "remill-clang-${REMILL_LLVM_VERSION}${executable_extension}")
306-
set(INSTALLED_LLVMLINK_NAME "remill-llvm-link-${REMILL_LLVM_VERSION}${executable_extension}")
307-
308-
if("${CXX_COMMON_REPOSITORY_ROOT}" STREQUAL "" OR NOT EXISTS "${CXX_COMMON_REPOSITORY_ROOT}/llvm")
309-
set(INSTALLED_LIBLLVM_NAME "${dynamic_lib_prefix}LLVM-${REMILL_LLVM_VERSION}.${dynamic_lib_extension}")
310-
311-
# system binaries are not built statically, so we need to fix the rpath
312-
find_program("clang_location" "clang-${REMILL_LLVM_VERSION}${executable_extension}")
313-
if("${clang_location}" STREQUAL "clang_location-NOTFOUND")
314-
message(FATAL_ERROR "InstallExternalTarget: Failed to locate the clang executable")
315-
endif()
316-
317-
message("InstallExternalTarget: Found clang executable: ${clang_location}")
318-
319-
find_program("llvmlink_location" "llvm-link${executable_extension}")
320-
if("${llvmlink_location}" STREQUAL "llvmlink_location-NOTFOUND")
321-
message(FATAL_ERROR "InstallExternalTarget: Failed to locate the llvm-link executable")
322-
endif()
323-
324-
message("InstallExternalTarget: Found llvm-link executable: ${llvmlink_location}")
325-
326-
find_library("libllvm_location" "${dynamic_lib_prefix}LLVM-${REMILL_LLVM_VERSION}.${dynamic_lib_extension}")
327-
if("${libllvm_location}" STREQUAL "libllvm_location-NOTFOUND")
328-
message(FATAL_ERROR "InstallExternalTarget: Failed to locate the libLLVM dynamic library")
329-
endif()
330-
331-
message("InstallExternalTarget: Found libLLVM location: ${libllvm_location}")
269+
set(INSTALLED_CLANG_NAME "remill-clang-${REMILL_LLVM_VERSION}${CMAKE_EXECUTABLE_SUFFIX}")
270+
set(INSTALLED_LLVMLINK_NAME "remill-llvm-link-${REMILL_LLVM_VERSION}${CMAKE_EXECUTABLE_SUFFIX}")
332271

333-
InstallExternalTarget("ext_clang" "${clang_location}" "${REMILL_INSTALL_BIN_DIR}"
334-
"${INSTALLED_CLANG_NAME}" "${REMILL_INSTALL_LIB_DIR}")
272+
InstallExternalTarget("ext_clang" "${CLANG_PATH}" "BIN" "${INSTALLED_CLANG_NAME}")
335273

336-
InstallExternalTarget("ext_llvmlink" "${llvmlink_location}" "${REMILL_INSTALL_BIN_DIR}"
337-
"${INSTALLED_LLVMLINK_NAME}" "${REMILL_INSTALL_LIB_DIR}")
338-
339-
else()
340-
# The executable in our binary repository are statically built, meaning that we don't need
341-
# to change the rpath
342-
InstallExternalTarget("ext_clang" "${CXX_COMMON_REPOSITORY_ROOT}/llvm/bin/clang${executable_extension}"
343-
"${REMILL_INSTALL_BIN_DIR}" "${INSTALLED_CLANG_NAME}")
344-
345-
InstallExternalTarget("ext_llvmlink" "${CXX_COMMON_REPOSITORY_ROOT}/llvm/bin/llvm-link${executable_extension}"
346-
"${REMILL_INSTALL_BIN_DIR}" "${INSTALLED_LLVMLINK_NAME}")
347-
endif()
348-
349-
set(REMILL_BC_LIBRARY_LOCATION "${REMILL_INSTALL_LIB_DIR}/${static_lib_prefix}remill_bc.${static_lib_extension}")
350-
set(REMILL_ARCH_LIBRARY_LOCATION "${REMILL_INSTALL_LIB_DIR}/${static_lib_prefix}remill_arch.${static_lib_extension}")
351-
set(REMILL_ARCH_X86_LIBRARY_LOCATION "${REMILL_INSTALL_LIB_DIR}/${static_lib_prefix}remill_arch_x86.${static_lib_extension}")
352-
set(REMILL_ARCH_AARCH32_LIBRARY_LOCATION "${REMILL_INSTALL_LIB_DIR}/${static_lib_prefix}remill_arch_aarch32.${static_lib_extension}")
353-
set(REMILL_ARCH_AARCH64_LIBRARY_LOCATION "${REMILL_INSTALL_LIB_DIR}/${static_lib_prefix}remill_arch_aarch64.${static_lib_extension}")
354-
set(REMILL_ARCH_SPARC32_LIBRARY_LOCATION "${REMILL_INSTALL_LIB_DIR}/${static_lib_prefix}remill_arch_sparc32.${static_lib_extension}")
355-
set(REMILL_ARCH_SPARC64_LIBRARY_LOCATION "${REMILL_INSTALL_LIB_DIR}/${static_lib_prefix}remill_arch_sparc64.${static_lib_extension}")
356-
set(REMILL_OS_LIBRARY_LOCATION "${REMILL_INSTALL_LIB_DIR}/${static_lib_prefix}remill_os.${static_lib_extension}")
357-
set(REMILL_VERSION_LIBRARY_LOCATION "${REMILL_INSTALL_LIB_DIR}/${static_lib_prefix}remill_version.${static_lib_extension}")
358-
359-
360-
set(REMILL_INCLUDE_LOCATION "${REMILL_INSTALL_INCLUDE_DIR}")
361-
get_target_property(REMILL_COMPILE_OPTIONS remill_settings INTERFACE_COMPILE_OPTIONS)
362-
get_target_property(REMILL_COMPILE_DEFINITIONS remill_settings INTERFACE_COMPILE_DEFINITIONS)
274+
InstallExternalTarget("ext_llvmlink" "${LLVMLINK_PATH}" "BIN" "${INSTALLED_LLVMLINK_NAME}")
363275

364276
GetTargetTree(THIRDPARTY_LIBRARIES ${THIRDPARTY_LIBRARY_LIST})
365277
GetPublicIncludeFolders(THIRDPARTY_INCLUDE_DIRECTORIES ${THIRDPARTY_LIBRARIES})
@@ -381,22 +293,17 @@ list(REMOVE_DUPLICATES THIRDPARTY_LIBRARY_FILES)
381293

382294
# First do the basic substitutions.
383295
configure_file(
384-
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/remillConfig.cmake.in"
385-
"${CMAKE_CURRENT_BINARY_DIR}/remillConfig.cmake.pregen"
296+
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/remillConfig_vcpkg.cmake.in"
297+
"${CMAKE_CURRENT_BINARY_DIR}/remillConfig.cmake"
386298
@ONLY
387299
)
388300

389-
# Then expand the generator expressions added to `THIRDPARTY_LIBRARY_FILES`.
390-
file(GENERATE
391-
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/remillConfig.cmake"
392-
INPUT "${CMAKE_CURRENT_BINARY_DIR}/remillConfig.cmake.pregen"
393-
)
394-
395301
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/remillConfig.cmake"
302+
"${CMAKE_CURRENT_LIST_DIR}/cmake/vcpkg_helper.cmake"
396303
DESTINATION "${REMILL_INSTALL_LIB_DIR}/cmake/remill"
397304
)
398305

399-
install(DIRECTORY "${REMILL_INCLUDE_DIR}/remill"
306+
install(DIRECTORY "${REMILL_INCLUDE_DIR}/remill/"
400307
DESTINATION "${REMILL_INSTALL_INCLUDE_DIR}"
401308
)
402309

@@ -409,8 +316,13 @@ add_custom_target(semantics)
409316
# tools
410317
add_subdirectory(bin)
411318

319+
install(EXPORT remillTargets
320+
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/remill")
321+
412322
# tests
323+
message("compiler ID ${CMAKE_C_COMPILER_ID}")
413324
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang")
325+
find_package(Threads REQUIRED)
414326
add_custom_target(test_dependencies)
415327

416328
if(NOT "${PLATFORM_NAME}" STREQUAL "windows")

0 commit comments

Comments
 (0)