mirror of https://github.com/microsoft/vcpkg.git
379 lines
12 KiB
Diff
379 lines
12 KiB
Diff
diff --git a/cmake/server.cmake b/cmake/server.cmake
|
|
index a76d1c13..ec73f0b8 100644
|
|
--- a/cmake/server.cmake
|
|
+++ b/cmake/server.cmake
|
|
@@ -29,7 +29,7 @@ list(TRANSFORM TRACY_SERVER_SOURCES PREPEND "${TRACY_SERVER_DIR}/")
|
|
|
|
add_library(TracyServer STATIC EXCLUDE_FROM_ALL ${TRACY_COMMON_SOURCES} ${TRACY_SERVER_SOURCES})
|
|
target_include_directories(TracyServer PUBLIC ${TRACY_COMMON_DIR} ${TRACY_SERVER_DIR})
|
|
-target_link_libraries(TracyServer PUBLIC TracyCapstone libzstd PPQSort::PPQSort)
|
|
+target_link_libraries(TracyServer PUBLIC capstone::capstone zstd::libzstd PPQSort::PPQSort)
|
|
if(NO_STATISTICS)
|
|
target_compile_definitions(TracyServer PUBLIC TRACY_NO_STATISTICS)
|
|
endif()
|
|
diff --git a/cmake/vendor.cmake b/cmake/vendor.cmake
|
|
index adbd5de9..61683d51 100644
|
|
--- a/cmake/vendor.cmake
|
|
+++ b/cmake/vendor.cmake
|
|
@@ -6,7 +6,6 @@ set (ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}/../")
|
|
# Dependencies are taken from the system first and if not found, they are pulled with CPM and built from source
|
|
|
|
include(FindPkgConfig)
|
|
-include(${CMAKE_CURRENT_LIST_DIR}/CPM.cmake)
|
|
|
|
option(DOWNLOAD_CAPSTONE "Force download capstone" ON)
|
|
option(DOWNLOAD_GLFW "Force download glfw" OFF)
|
|
@@ -16,105 +15,21 @@ option(DOWNLOAD_PUGIXML "Force download pugixml" OFF)
|
|
|
|
# capstone
|
|
|
|
-pkg_check_modules(CAPSTONE capstone)
|
|
-if(CAPSTONE_FOUND AND NOT DOWNLOAD_CAPSTONE)
|
|
- message(STATUS "Capstone found: ${CAPSTONE}")
|
|
- add_library(TracyCapstone INTERFACE)
|
|
- target_include_directories(TracyCapstone INTERFACE ${CAPSTONE_INCLUDE_DIRS})
|
|
- target_link_libraries(TracyCapstone INTERFACE ${CAPSTONE_LINK_LIBRARIES})
|
|
-else()
|
|
- CPMAddPackage(
|
|
- NAME capstone
|
|
- GITHUB_REPOSITORY capstone-engine/capstone
|
|
- GIT_TAG 6.0.0-Alpha5
|
|
- OPTIONS
|
|
- "CAPSTONE_X86_ATT_DISABLE ON"
|
|
- "CAPSTONE_ALPHA_SUPPORT OFF"
|
|
- "CAPSTONE_ARC_SUPPORT OFF"
|
|
- "CAPSTONE_HPPA_SUPPORT OFF"
|
|
- "CAPSTONE_LOONGARCH_SUPPORT OFF"
|
|
- "CAPSTONE_M680X_SUPPORT OFF"
|
|
- "CAPSTONE_M68K_SUPPORT OFF"
|
|
- "CAPSTONE_MIPS_SUPPORT OFF"
|
|
- "CAPSTONE_MOS65XX_SUPPORT OFF"
|
|
- "CAPSTONE_PPC_SUPPORT OFF"
|
|
- "CAPSTONE_SPARC_SUPPORT OFF"
|
|
- "CAPSTONE_SYSTEMZ_SUPPORT OFF"
|
|
- "CAPSTONE_XCORE_SUPPORT OFF"
|
|
- "CAPSTONE_TRICORE_SUPPORT OFF"
|
|
- "CAPSTONE_TMS320C64X_SUPPORT OFF"
|
|
- "CAPSTONE_M680X_SUPPORT OFF"
|
|
- "CAPSTONE_EVM_SUPPORT OFF"
|
|
- "CAPSTONE_WASM_SUPPORT OFF"
|
|
- "CAPSTONE_BPF_SUPPORT OFF"
|
|
- "CAPSTONE_RISCV_SUPPORT OFF"
|
|
- "CAPSTONE_SH_SUPPORT OFF"
|
|
- "CAPSTONE_XTENSA_SUPPORT OFF"
|
|
- "CAPSTONE_BUILD_MACOS_THIN ON"
|
|
- EXCLUDE_FROM_ALL TRUE
|
|
- )
|
|
- add_library(TracyCapstone INTERFACE)
|
|
- target_include_directories(TracyCapstone INTERFACE ${capstone_SOURCE_DIR}/include/capstone)
|
|
- target_link_libraries(TracyCapstone INTERFACE capstone_static)
|
|
-endif()
|
|
+find_package(capstone CONFIG)
|
|
|
|
# GLFW
|
|
|
|
if(NOT USE_WAYLAND AND NOT EMSCRIPTEN)
|
|
- pkg_check_modules(GLFW glfw3)
|
|
- if (GLFW_FOUND AND NOT DOWNLOAD_GLFW)
|
|
- add_library(TracyGlfw3 INTERFACE)
|
|
- target_include_directories(TracyGlfw3 INTERFACE ${GLFW_INCLUDE_DIRS})
|
|
- target_link_libraries(TracyGlfw3 INTERFACE ${GLFW_LINK_LIBRARIES})
|
|
- else()
|
|
- CPMAddPackage(
|
|
- NAME glfw
|
|
- GITHUB_REPOSITORY glfw/glfw
|
|
- GIT_TAG 3.4
|
|
- OPTIONS
|
|
- "GLFW_BUILD_EXAMPLES OFF"
|
|
- "GLFW_BUILD_TESTS OFF"
|
|
- "GLFW_BUILD_DOCS OFF"
|
|
- "GLFW_INSTALL OFF"
|
|
- EXCLUDE_FROM_ALL TRUE
|
|
- )
|
|
- add_library(TracyGlfw3 INTERFACE)
|
|
- target_link_libraries(TracyGlfw3 INTERFACE glfw)
|
|
- endif()
|
|
+ find_package(glfw3 CONFIG)
|
|
endif()
|
|
|
|
# freetype
|
|
|
|
-pkg_check_modules(FREETYPE freetype2)
|
|
-if (FREETYPE_FOUND AND NOT DOWNLOAD_FREETYPE)
|
|
- add_library(TracyFreetype INTERFACE)
|
|
- target_include_directories(TracyFreetype INTERFACE ${FREETYPE_INCLUDE_DIRS})
|
|
- target_link_libraries(TracyFreetype INTERFACE ${FREETYPE_LINK_LIBRARIES})
|
|
-else()
|
|
- CPMAddPackage(
|
|
- NAME freetype
|
|
- GITHUB_REPOSITORY freetype/freetype
|
|
- GIT_TAG VER-2-14-1
|
|
- OPTIONS
|
|
- "FT_DISABLE_HARFBUZZ ON"
|
|
- "FT_WITH_HARFBUZZ OFF"
|
|
- EXCLUDE_FROM_ALL TRUE
|
|
- )
|
|
- add_library(TracyFreetype INTERFACE)
|
|
- target_link_libraries(TracyFreetype INTERFACE freetype)
|
|
-endif()
|
|
+find_package(Freetype)
|
|
|
|
# Zstd
|
|
|
|
-CPMAddPackage(
|
|
- NAME zstd
|
|
- GITHUB_REPOSITORY facebook/zstd
|
|
- GIT_TAG v1.5.7
|
|
- OPTIONS
|
|
- "ZSTD_BUILD_SHARED OFF"
|
|
- EXCLUDE_FROM_ALL TRUE
|
|
- SOURCE_SUBDIR build/cmake
|
|
-)
|
|
+find_package(zstd CONFIG)
|
|
|
|
# Diff Template Library
|
|
|
|
@@ -134,169 +49,70 @@ target_include_directories(TracyGetOpt PUBLIC ${GETOPT_DIR})
|
|
|
|
# ImGui
|
|
|
|
-CPMAddPackage(
|
|
- NAME ImGui
|
|
- GITHUB_REPOSITORY ocornut/imgui
|
|
- GIT_TAG v1.92.5-docking
|
|
- DOWNLOAD_ONLY TRUE
|
|
- PATCHES
|
|
- "${CMAKE_CURRENT_LIST_DIR}/imgui-emscripten.patch"
|
|
- "${CMAKE_CURRENT_LIST_DIR}/imgui-loader.patch"
|
|
-)
|
|
-
|
|
-set(IMGUI_SOURCES
|
|
- imgui_widgets.cpp
|
|
- imgui_draw.cpp
|
|
- imgui_demo.cpp
|
|
- imgui.cpp
|
|
- imgui_tables.cpp
|
|
- misc/freetype/imgui_freetype.cpp
|
|
- backends/imgui_impl_opengl3.cpp
|
|
-)
|
|
-
|
|
-list(TRANSFORM IMGUI_SOURCES PREPEND "${ImGui_SOURCE_DIR}/")
|
|
-
|
|
-add_library(TracyImGui STATIC EXCLUDE_FROM_ALL ${IMGUI_SOURCES})
|
|
-target_include_directories(TracyImGui PUBLIC ${ImGui_SOURCE_DIR})
|
|
-target_link_libraries(TracyImGui PUBLIC TracyFreetype)
|
|
-target_compile_definitions(TracyImGui PRIVATE "IMGUI_ENABLE_FREETYPE")
|
|
-#target_compile_definitions(TracyImGui PUBLIC "IMGUI_DISABLE_OBSOLETE_FUNCTIONS")
|
|
-
|
|
-if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND LEGACY)
|
|
- find_package(X11 REQUIRED)
|
|
- target_link_libraries(TracyImGui PUBLIC ${X11_LIBRARIES})
|
|
-endif()
|
|
+if (ImGui_SOURCE_DIR)
|
|
+ set(IMGUI_SOURCES
|
|
+ imgui_widgets.cpp
|
|
+ imgui_draw.cpp
|
|
+ imgui_demo.cpp
|
|
+ imgui.cpp
|
|
+ imgui_tables.cpp
|
|
+ misc/freetype/imgui_freetype.cpp
|
|
+ backends/imgui_impl_opengl3.cpp
|
|
+ )
|
|
|
|
-if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
- target_compile_definitions(TracyImGui PRIVATE "IMGUI_DISABLE_DEBUG_TOOLS" "IMGUI_DISABLE_DEMO_WINDOWS")
|
|
-endif()
|
|
+ list(TRANSFORM IMGUI_SOURCES PREPEND "${ImGui_SOURCE_DIR}/")
|
|
|
|
-# NFD
|
|
+ add_library(TracyImGui STATIC EXCLUDE_FROM_ALL ${IMGUI_SOURCES})
|
|
+ target_include_directories(TracyImGui PUBLIC ${ImGui_SOURCE_DIR})
|
|
+ target_link_libraries(TracyImGui PUBLIC Freetype::Freetype)
|
|
+ target_compile_definitions(TracyImGui PRIVATE "IMGUI_ENABLE_FREETYPE")
|
|
+ #target_compile_definitions(TracyImGui PUBLIC "IMGUI_DISABLE_OBSOLETE_FUNCTIONS")
|
|
|
|
-if(NOT NO_FILESELECTOR AND NOT EMSCRIPTEN)
|
|
- if(GTK_FILESELECTOR)
|
|
- set(NFD_PORTAL OFF)
|
|
- else()
|
|
- set(NFD_PORTAL ON)
|
|
+ if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND LEGACY)
|
|
+ find_package(X11 REQUIRED)
|
|
+ target_link_libraries(TracyImGui PUBLIC ${X11_LIBRARIES})
|
|
endif()
|
|
|
|
- CPMAddPackage(
|
|
- NAME nfd
|
|
- GITHUB_REPOSITORY btzy/nativefiledialog-extended
|
|
- GIT_TAG v1.2.1
|
|
- EXCLUDE_FROM_ALL TRUE
|
|
- OPTIONS
|
|
- "NFD_PORTAL ${NFD_PORTAL}"
|
|
- )
|
|
+ if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
+ target_compile_definitions(TracyImGui PRIVATE "IMGUI_DISABLE_DEBUG_TOOLS" "IMGUI_DISABLE_DEMO_WINDOWS")
|
|
+ endif()
|
|
endif()
|
|
|
|
+# NFD
|
|
+
|
|
+find_package(nfd CONFIG)
|
|
+
|
|
# PPQSort
|
|
|
|
-CPMAddPackage(
|
|
- NAME PPQSort
|
|
- GITHUB_REPOSITORY GabTux/PPQSort
|
|
- VERSION 1.0.6
|
|
- PATCHES
|
|
- "${CMAKE_CURRENT_LIST_DIR}/ppqsort-nodebug.patch"
|
|
- EXCLUDE_FROM_ALL TRUE
|
|
-)
|
|
+find_package(PPQSort CONFIG)
|
|
|
|
# json
|
|
|
|
-CPMAddPackage(
|
|
- NAME json
|
|
- GITHUB_REPOSITORY nlohmann/json
|
|
- GIT_TAG v3.12.0
|
|
- EXCLUDE_FROM_ALL TRUE
|
|
-)
|
|
+find_package(nlohmann_json CONFIG)
|
|
|
|
# md4c
|
|
|
|
-CPMAddPackage(
|
|
- NAME md4c
|
|
- GITHUB_REPOSITORY mity/md4c
|
|
- GIT_TAG release-0.5.2
|
|
- EXCLUDE_FROM_ALL TRUE
|
|
-)
|
|
+find_package(md4c CONFIG)
|
|
|
|
if(NOT EMSCRIPTEN)
|
|
|
|
# base64
|
|
|
|
- set(BUILD_SHARED_LIBS_SAVE ${BUILD_SHARED_LIBS})
|
|
- set(BUILD_SHARED_LIBS OFF)
|
|
- CPMAddPackage(
|
|
- NAME base64
|
|
- GITHUB_REPOSITORY aklomp/base64
|
|
- GIT_TAG v0.5.2
|
|
- OPTIONS
|
|
- "BASE64_BUILD_CLI OFF"
|
|
- "BASE64_WITH_OpenMP OFF"
|
|
- EXCLUDE_FROM_ALL TRUE
|
|
- )
|
|
- set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS_SAVE})
|
|
+ find_package(base64 CONFIG)
|
|
|
|
# tidy
|
|
|
|
- CPMAddPackage(
|
|
- NAME tidy
|
|
- GITHUB_REPOSITORY htacg/tidy-html5
|
|
- GIT_TAG 5.8.0
|
|
- PATCHES
|
|
- "${CMAKE_CURRENT_LIST_DIR}/tidy-cmake.patch"
|
|
- EXCLUDE_FROM_ALL TRUE
|
|
- )
|
|
+ find_package(unofficial-tidy-html5 CONFIG)
|
|
|
|
# usearch
|
|
|
|
- CPMAddPackage(
|
|
- NAME usearch
|
|
- GITHUB_REPOSITORY unum-cloud/usearch
|
|
- GIT_TAG v2.21.3
|
|
- EXCLUDE_FROM_ALL TRUE
|
|
- )
|
|
+ find_package(usearch CONFIG)
|
|
|
|
# pugixml
|
|
|
|
- pkg_check_modules(PUGIXML pugixml)
|
|
- if (PUGIXML_FOUND AND NOT DOWNLOAD_PUGIXML)
|
|
- add_library(TracyPugixml INTERFACE)
|
|
- target_include_directories(TracyPugixml INTERFACE ${PUGIXML_INCLUDE_DIRS})
|
|
- target_link_libraries(TracyPugixml INTERFACE ${PUGIXML_LINK_LIBRARIES})
|
|
- else()
|
|
- CPMAddPackage(
|
|
- NAME pugixml
|
|
- GITHUB_REPOSITORY zeux/pugixml
|
|
- GIT_TAG v1.15
|
|
- EXCLUDE_FROM_ALL TRUE
|
|
- )
|
|
- add_library(TracyPugixml INTERFACE)
|
|
- target_link_libraries(TracyPugixml INTERFACE pugixml)
|
|
- endif()
|
|
+ find_package(pugixml CONFIG)
|
|
|
|
# libcurl
|
|
|
|
- pkg_check_modules(LIBCURL libcurl>=7.87.0)
|
|
- if (LIBCURL_FOUND AND NOT DOWNLOAD_LIBCURL)
|
|
- add_library(TracyLibcurl INTERFACE)
|
|
- target_include_directories(TracyLibcurl INTERFACE ${LIBCURL_INCLUDE_DIRS})
|
|
- target_link_libraries(TracyLibcurl INTERFACE ${LIBCURL_LINK_LIBRARIES})
|
|
- else()
|
|
- CPMAddPackage(
|
|
- NAME libcurl
|
|
- GITHUB_REPOSITORY curl/curl
|
|
- GIT_TAG curl-8_17_0
|
|
- OPTIONS
|
|
- "BUILD_STATIC_LIBS ON"
|
|
- "BUILD_SHARED_LIBS OFF"
|
|
- "HTTP_ONLY ON"
|
|
- "CURL_ZSTD OFF"
|
|
- "CURL_USE_LIBPSL OFF"
|
|
- EXCLUDE_FROM_ALL TRUE
|
|
- )
|
|
- add_library(TracyLibcurl INTERFACE)
|
|
- target_link_libraries(TracyLibcurl INTERFACE libcurl_static)
|
|
- target_include_directories(TracyLibcurl INTERFACE ${libcurl_SOURCE_DIR}/include)
|
|
- endif()
|
|
-
|
|
+ find_package(CURL)
|
|
endif()
|
|
diff --git a/profiler/CMakeLists.txt b/profiler/CMakeLists.txt
|
|
index 1681a64b..01043d3e 100644
|
|
--- a/profiler/CMakeLists.txt
|
|
+++ b/profiler/CMakeLists.txt
|
|
@@ -244,7 +244,7 @@ target_link_libraries(${PROJECT_NAME} PRIVATE
|
|
TracyImGui
|
|
Threads::Threads
|
|
nlohmann_json::nlohmann_json
|
|
- md4c
|
|
+ md4c::md4c
|
|
)
|
|
target_include_directories(${PROJECT_NAME} PRIVATE
|
|
${tidy_SOURCE_DIR}/include
|
|
@@ -255,11 +255,11 @@ target_include_directories(${PROJECT_NAME} PRIVATE
|
|
|
|
if(NOT EMSCRIPTEN)
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE
|
|
- TracyLibcurl
|
|
- base64
|
|
- tidy-static
|
|
- TracyPugixml
|
|
- usearch
|
|
+ CURL::libcurl
|
|
+ aklomp::base64
|
|
+ unofficial::tidy-html5::tidy
|
|
+ pugixml::pugixml
|
|
+ usearch::usearch
|
|
)
|
|
endif()
|
|
|
|
@@ -293,7 +293,7 @@ if(NOT EMSCRIPTEN)
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE nfd::nfd)
|
|
endif()
|
|
if(NOT USE_WAYLAND)
|
|
- target_link_libraries(${PROJECT_NAME} PRIVATE TracyGlfw3)
|
|
+ target_link_libraries(${PROJECT_NAME} PRIVATE glfw)
|
|
endif()
|
|
endif()
|
|
|