[BUILDSYS]: Remove VCPKG
This commit is contained in:
@ -1,5 +1,7 @@
|
|||||||
include(FetchContent)
|
include(FetchContent)
|
||||||
|
|
||||||
|
find_package(OpenSSL 3.0.0 REQUIRED)
|
||||||
|
|
||||||
set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "Force static libs")
|
set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "Force static libs")
|
||||||
|
|
||||||
set(HWY_ENABLE_TESTS OFF CACHE BOOL "Disable Highway tests" FORCE)
|
set(HWY_ENABLE_TESTS OFF CACHE BOOL "Disable Highway tests" FORCE)
|
||||||
@ -7,10 +9,30 @@ set(HWY_ENABLE_EXAMPLES OFF CACHE BOOL "Disable Highway examples" FORCE)
|
|||||||
set(HWY_ENABLE_CONTRIB OFF CACHE BOOL "Disable Highway contrib" FORCE)
|
set(HWY_ENABLE_CONTRIB OFF CACHE BOOL "Disable Highway contrib" FORCE)
|
||||||
set(HWY_ENABLE_INSTALL OFF CACHE BOOL "Disable Highway install rules" FORCE)
|
set(HWY_ENABLE_INSTALL OFF CACHE BOOL "Disable Highway install rules" FORCE)
|
||||||
|
|
||||||
set(ZLIB_USE_STATIC_LIBS ON)
|
set(ZLIB_USE_STATIC_LIBS ON CACHE BOOL "" FORCE)
|
||||||
find_package(ZLIB REQUIRED)
|
set(ZLIB_COMPAT ON CACHE BOOL "" FORCE)
|
||||||
find_package(zstd CONFIG REQUIRED)
|
set(ZLIB_ENABLE_TESTS OFF CACHE BOOL "" FORCE)
|
||||||
find_package(OpenSSL 3.0.0 REQUIRED)
|
set(WITH_GZFILEOP ON CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
FetchContent_Declare(
|
||||||
|
zlib
|
||||||
|
GIT_REPOSITORY https://github.com/zlib-ng/zlib-ng.git
|
||||||
|
GIT_TAG 2.1.6
|
||||||
|
OVERRIDE_FIND_PACKAGE
|
||||||
|
)
|
||||||
|
|
||||||
|
set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "" FORCE)
|
||||||
|
set(ZSTD_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||||
|
set(ZSTD_BUILD_SHARED OFF CACHE BOOL "" FORCE)
|
||||||
|
set(ZSTD_BUILD_STATIC ON CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
|
FetchContent_Declare(
|
||||||
|
zstd
|
||||||
|
GIT_REPOSITORY https://github.com/facebook/zstd.git
|
||||||
|
GIT_TAG v1.5.5
|
||||||
|
SOURCE_SUBDIR build/cmake
|
||||||
|
OVERRIDE_FIND_PACKAGE
|
||||||
|
)
|
||||||
|
|
||||||
FetchContent_Declare(
|
FetchContent_Declare(
|
||||||
httplib
|
httplib
|
||||||
@ -99,7 +121,15 @@ set(HTTPLIB_COMPILE OFF CACHE BOOL "" FORCE)
|
|||||||
set(HTTPLIB_TEST OFF CACHE BOOL "" FORCE)
|
set(HTTPLIB_TEST OFF CACHE BOOL "" FORCE)
|
||||||
set(HTTPLIB_EXAMPLE OFF CACHE BOOL "" FORCE)
|
set(HTTPLIB_EXAMPLE OFF CACHE BOOL "" FORCE)
|
||||||
|
|
||||||
FetchContent_MakeAvailable(httplib pugixml nlohmann_json glaze simdjson tl-expected unordered_dense mimalloc highway)
|
FetchContent_MakeAvailable(zlib zstd httplib pugixml nlohmann_json glaze simdjson tl-expected unordered_dense mimalloc highway)
|
||||||
|
|
||||||
|
if(NOT TARGET simdjson::simdjson)
|
||||||
|
add_library(simdjson::simdjson ALIAS simdjson)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT TARGET zstd::libzstd)
|
||||||
|
add_library(zstd::libzstd ALIAS libzstd_static)
|
||||||
|
endif()
|
||||||
|
|
||||||
get_target_property(HWY_INCLUDE_DIRS hwy INTERFACE_INCLUDE_DIRECTORIES)
|
get_target_property(HWY_INCLUDE_DIRS hwy INTERFACE_INCLUDE_DIRECTORIES)
|
||||||
target_include_directories(hwy SYSTEM INTERFACE ${HWY_INCLUDE_DIRS})
|
target_include_directories(hwy SYSTEM INTERFACE ${HWY_INCLUDE_DIRS})
|
||||||
|
|||||||
@ -1,9 +0,0 @@
|
|||||||
set(VCPKG_TARGET_ARCHITECTURE arm64)
|
|
||||||
set(VCPKG_CRT_LINKAGE dynamic)
|
|
||||||
set(VCPKG_LIBRARY_LINKAGE static)
|
|
||||||
set(VCPKG_CMAKE_SYSTEM_NAME Linux)
|
|
||||||
|
|
||||||
set(VCPKG_C_FLAGS "--gcc-toolchain=/usr -march=armv8-a+simd")
|
|
||||||
set(VCPKG_CXX_FLAGS " --gcc-toolchain=/usr -march=armv8-a+simd")
|
|
||||||
|
|
||||||
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/arm64-linux-clang.cmake")
|
|
||||||
@ -1,11 +0,0 @@
|
|||||||
set(VCPKG_TARGET_ARCHITECTURE arm64)
|
|
||||||
set(VCPKG_CRT_LINKAGE dynamic)
|
|
||||||
set(VCPKG_LIBRARY_LINKAGE static)
|
|
||||||
set(VCPKG_CMAKE_SYSTEM_NAME Windows)
|
|
||||||
|
|
||||||
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
|
||||||
|
|
||||||
set(VCPKG_C_FLAGS "--target=arm64-pc-windows-msvc")
|
|
||||||
set(VCPKG_CXX_FLAGS "--target=arm64-pc-windows-msvc")
|
|
||||||
|
|
||||||
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/arm64-windows-clang.cmake")
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
set(VCPKG_TARGET_ARCHITECTURE wasm32)
|
|
||||||
set(VCPKG_CRT_LINKAGE dynamic)
|
|
||||||
set(VCPKG_LIBRARY_LINKAGE static)
|
|
||||||
set(VCPKG_CMAKE_SYSTEM_NAME Emscripten)
|
|
||||||
|
|
||||||
set(VCPKG_C_FLAGS "-msimd128 -pthread")
|
|
||||||
set(VCPKG_CXX_FLAGS "-msimd128 -pthread")
|
|
||||||
|
|
||||||
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/wasm32-emscripten-clang.cmake")
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
set(VCPKG_TARGET_ARCHITECTURE x64)
|
|
||||||
set(VCPKG_CRT_LINKAGE dynamic)
|
|
||||||
set(VCPKG_LIBRARY_LINKAGE static)
|
|
||||||
set(VCPKG_CMAKE_SYSTEM_NAME Linux)
|
|
||||||
|
|
||||||
set(VCPKG_C_FLAGS "-mavx2 -mfma -mxsave -msse4.2")
|
|
||||||
set(VCPKG_CXX_FLAGS "-mavx2 -mfma -mxsave -msse4.2")
|
|
||||||
|
|
||||||
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/x64-linux-clang.cmake")
|
|
||||||
@ -1,9 +0,0 @@
|
|||||||
set(VCPKG_TARGET_ARCHITECTURE x64)
|
|
||||||
set(VCPKG_CRT_LINKAGE dynamic)
|
|
||||||
set(VCPKG_LIBRARY_LINKAGE static)
|
|
||||||
set(VCPKG_CMAKE_SYSTEM_NAME Windows)
|
|
||||||
|
|
||||||
set(VCPKG_C_FLAGS "/arch:AVX2 /clang:-mfma")
|
|
||||||
set(VCPKG_CXX_FLAGS "/arch:AVX2 /clang:-mfma")
|
|
||||||
|
|
||||||
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../Toolchains/x64-windows-clang.cmake")
|
|
||||||
@ -1,15 +1,5 @@
|
|||||||
cmake_minimum_required(VERSION 3.28 FATAL_ERROR)
|
cmake_minimum_required(VERSION 3.28 FATAL_ERROR)
|
||||||
|
|
||||||
set(IACORE_ROOT "${CMAKE_CURRENT_LIST_DIR}" CACHE INTERNAL "")
|
|
||||||
set(IACORE_TRIPLETS_DIR "${IACORE_ROOT}/CMake/Triplets" CACHE INTERNAL "")
|
|
||||||
|
|
||||||
if(IACORE_TRIPLETS_DIR)
|
|
||||||
list(APPEND VCPKG_OVERLAY_TRIPLETS "${IACORE_TRIPLETS_DIR}")
|
|
||||||
if(NOT CMAKE_CURRENT_LIST_DIR STREQUAL CMAKE_SOURCE_DIR)
|
|
||||||
set(VCPKG_OVERLAY_TRIPLETS "${VCPKG_OVERLAY_TRIPLETS}" PARENT_SCOPE)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
project(IACore LANGUAGES C CXX)
|
project(IACore LANGUAGES C CXX)
|
||||||
|
|
||||||
if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
||||||
@ -18,6 +8,7 @@ else()
|
|||||||
set(IACORE_IS_TOP_LEVEL OFF)
|
set(IACORE_IS_TOP_LEVEL OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(IACORE_ROOT "${CMAKE_CURRENT_LIST_DIR}" CACHE INTERNAL "")
|
||||||
set(IACORE_CMAKE_DIR "${IACORE_ROOT}/CMake" CACHE INTERNAL "")
|
set(IACORE_CMAKE_DIR "${IACORE_ROOT}/CMake" CACHE INTERNAL "")
|
||||||
list(APPEND CMAKE_MODULE_PATH "${IACORE_CMAKE_DIR}")
|
list(APPEND CMAKE_MODULE_PATH "${IACORE_CMAKE_DIR}")
|
||||||
|
|
||||||
|
|||||||
@ -13,34 +13,26 @@
|
|||||||
"cacheVariables": {
|
"cacheVariables": {
|
||||||
"CMAKE_C_COMPILER": "clang",
|
"CMAKE_C_COMPILER": "clang",
|
||||||
"CMAKE_CXX_COMPILER": "clang++",
|
"CMAKE_CXX_COMPILER": "clang++",
|
||||||
"VCPKG_MANIFEST_MODE": "ON",
|
"CMAKE_TOOLCHAIN_FILE": "${sourceDir}/CMake/Toolchains/${presetName}-clang.cmake"
|
||||||
"VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/CMake/Triplets",
|
|
||||||
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
|
|
||||||
"VCPKG_CHAINLOAD_TOOLCHAIN_FILE": "${sourceDir}/CMake/Toolchains/${presetName}-clang.cmake"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "x64-linux",
|
"name": "x64-linux",
|
||||||
"displayName": "Linux x64 (Clang)",
|
"displayName": "Linux x64 (Clang)",
|
||||||
"inherits": "iacore-base",
|
"inherits": "iacore-base",
|
||||||
"cacheVariables": {
|
"cacheVariables": {}
|
||||||
"VCPKG_TARGET_TRIPLET": "x64-linux"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "arm64-linux",
|
"name": "arm64-linux",
|
||||||
"displayName": "Linux ARM64 (Clang Cross)",
|
"displayName": "Linux ARM64 (Clang Cross)",
|
||||||
"inherits": "iacore-base",
|
"inherits": "iacore-base",
|
||||||
"cacheVariables": {
|
"cacheVariables": {}
|
||||||
"VCPKG_TARGET_TRIPLET": "arm64-linux"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "x64-windows",
|
"name": "x64-windows",
|
||||||
"displayName": "Windows x64 (Clang)",
|
"displayName": "Windows x64 (Clang)",
|
||||||
"inherits": "iacore-base",
|
"inherits": "iacore-base",
|
||||||
"cacheVariables": {
|
"cacheVariables": {
|
||||||
"VCPKG_TARGET_TRIPLET": "x64-windows",
|
|
||||||
"CMAKE_C_COMPILER": "clang-cl",
|
"CMAKE_C_COMPILER": "clang-cl",
|
||||||
"CMAKE_CXX_COMPILER": "clang-cl"
|
"CMAKE_CXX_COMPILER": "clang-cl"
|
||||||
}
|
}
|
||||||
@ -50,7 +42,6 @@
|
|||||||
"displayName": "Windows ARM64 (Clang Cross)",
|
"displayName": "Windows ARM64 (Clang Cross)",
|
||||||
"inherits": "iacore-base",
|
"inherits": "iacore-base",
|
||||||
"cacheVariables": {
|
"cacheVariables": {
|
||||||
"VCPKG_TARGET_TRIPLET": "arm64-windows",
|
|
||||||
"CMAKE_C_COMPILER": "clang-cl",
|
"CMAKE_C_COMPILER": "clang-cl",
|
||||||
"CMAKE_CXX_COMPILER": "clang-cl"
|
"CMAKE_CXX_COMPILER": "clang-cl"
|
||||||
}
|
}
|
||||||
@ -59,9 +50,7 @@
|
|||||||
"name": "wasm",
|
"name": "wasm",
|
||||||
"displayName": "WebAssembly (Clang)",
|
"displayName": "WebAssembly (Clang)",
|
||||||
"inherits": "iacore-base",
|
"inherits": "iacore-base",
|
||||||
"cacheVariables": {
|
"cacheVariables": {}
|
||||||
"VCPKG_TARGET_TRIPLET": "wasm32-emscripten"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"buildPresets": [
|
"buildPresets": [
|
||||||
|
|||||||
@ -24,7 +24,7 @@ target_include_directories(IACore PRIVATE imp/hpp/)
|
|||||||
|
|
||||||
target_link_libraries(IACore PUBLIC
|
target_link_libraries(IACore PUBLIC
|
||||||
hwy
|
hwy
|
||||||
ZLIB::ZLIB
|
zlib
|
||||||
zstd::libzstd
|
zstd::libzstd
|
||||||
tl::expected
|
tl::expected
|
||||||
glaze::glaze
|
glaze::glaze
|
||||||
@ -78,7 +78,7 @@ if(IACORE_ARCH_X64)
|
|||||||
if(MSVC)
|
if(MSVC)
|
||||||
target_compile_options(IACore INTERFACE /arch:AVX2)
|
target_compile_options(IACore INTERFACE /arch:AVX2)
|
||||||
else()
|
else()
|
||||||
target_compile_options(IACore INTERFACE -mavx2 -mfma -mpclmul -maes -mbmi)
|
target_compile_options(IACore INTERFACE -mavx2 -mfma -mpclmul -maes -mbmi -mbmi2)
|
||||||
endif()
|
endif()
|
||||||
target_compile_definitions(IACore INTERFACE HWY_BASELINE_TARGETS=HWY_AVX2)
|
target_compile_definitions(IACore INTERFACE HWY_BASELINE_TARGETS=HWY_AVX2)
|
||||||
elseif(IACORE_ARCH_ARM64)
|
elseif(IACORE_ARCH_ARM64)
|
||||||
|
|||||||
10
vcpkg.json
10
vcpkg.json
@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "iacore",
|
|
||||||
"version": "0.1.0",
|
|
||||||
"builtin-baseline": "37dcabc43809a960f41758e00e615cc6e26e8bbf",
|
|
||||||
"dependencies": [
|
|
||||||
"openssl",
|
|
||||||
"zstd",
|
|
||||||
"zlib"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user