render3D 安装好依赖库
This commit is contained in:
@@ -6,3 +6,4 @@
|
||||
/Kernel/Renderive_线程问题审计.md
|
||||
/webapp_gallery/node_modules/
|
||||
/webapp_gallery/dist/
|
||||
/third_party/datoviz/
|
||||
|
||||
+4
-4
@@ -6,16 +6,13 @@ option(RENDERIVE_BUILD_2D "Build 2D renderer" ON)
|
||||
option(RENDERIVE_BUILD_QT "Build Qt integration" ON)
|
||||
option(RENDERIVE_BUILD_WEB "Build Web integration" ON)
|
||||
option(RENDERIVE_BUILD_TESTS "Build tests" ON)
|
||||
option(RENDERIVE_BUILD_3D "Build 3D renderer" OFF)
|
||||
option(RENDERIVE_BUILD_3D "Build 3D renderer" ON)
|
||||
if (RENDERIVE_BUILD_QT AND NOT RENDERIVE_BUILD_2D)
|
||||
message(FATAL_ERROR "RENDERIVE_BUILD_QT requires RENDERIVE_BUILD_2D")
|
||||
endif ()
|
||||
if (RENDERIVE_BUILD_WEB AND NOT RENDERIVE_BUILD_2D)
|
||||
message(FATAL_ERROR "RENDERIVE_BUILD_WEB requires RENDERIVE_BUILD_2D")
|
||||
endif ()
|
||||
if (RENDERIVE_BUILD_3D)
|
||||
message(FATAL_ERROR "RENDERIVE_BUILD_3D is reserved; the 3D renderer is not implemented")
|
||||
endif ()
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/third_party/build_infra/start.cmake")
|
||||
if (RENDERIVE_BUILD_TESTS)
|
||||
enable_testing()
|
||||
@@ -24,6 +21,9 @@ add_subdirectory(Kernel)
|
||||
if (RENDERIVE_BUILD_2D)
|
||||
add_subdirectory(render_2D)
|
||||
endif ()
|
||||
if (RENDERIVE_BUILD_3D)
|
||||
add_subdirectory(render_3D)
|
||||
endif ()
|
||||
if (RENDERIVE_BUILD_QT)
|
||||
add_subdirectory(Qt)
|
||||
endif ()
|
||||
|
||||
+17
-17
@@ -1,38 +1,38 @@
|
||||
set(Renderive_Kernel_dependencies global::taskflow)
|
||||
if(RENDERIVE_BUILD_TESTS)
|
||||
if (RENDERIVE_BUILD_TESTS)
|
||||
list(APPEND Renderive_Kernel_dependencies global::GTest)
|
||||
endif()
|
||||
endif ()
|
||||
rcl_add_dependency_action_targets(Renderive_Kernel_env ${Renderive_Kernel_dependencies})
|
||||
set_target_properties(Renderive_Kernel_env PROPERTIES FOLDER Renderive_Kernel)
|
||||
library_is_installed_with_rely(Renderive_Kernel_dependencies_installed ${Renderive_Kernel_dependencies})
|
||||
if(NOT Renderive_Kernel_dependencies_installed)
|
||||
rcl_log_append("[FATAL_ERROR] Renderive_Kernel dependencies are not installed. Build Renderive_Kernel_env first")
|
||||
if (NOT Renderive_Kernel_dependencies_installed)
|
||||
rcl_log_append(${CMAKE_CURRENT_LIST_LINE} "[FATAL_ERROR] Renderive_Kernel dependencies are not installed. Build Renderive_Kernel_env first")
|
||||
return()
|
||||
endif()
|
||||
endif ()
|
||||
rcl_load_dependency_environment(${Renderive_Kernel_dependencies})
|
||||
find_package(Taskflow CONFIG REQUIRED)
|
||||
find_package(Threads REQUIRED)
|
||||
if(RENDERIVE_BUILD_TESTS)
|
||||
if (RENDERIVE_BUILD_TESTS)
|
||||
find_package(GTest CONFIG REQUIRED)
|
||||
endif()
|
||||
endif ()
|
||||
set(Renderive_Kernel_source_dir "${CMAKE_CURRENT_LIST_DIR}/src")
|
||||
append_glob_source(Renderive_Kernel_sources "${Renderive_Kernel_source_dir}")
|
||||
add_library(Renderive_Kernel STATIC ${Renderive_Kernel_sources})
|
||||
target_include_directories(Renderive_Kernel PUBLIC
|
||||
"$<BUILD_INTERFACE:${Renderive_Kernel_source_dir}>"
|
||||
"$<BUILD_INTERFACE:${Renderive_Kernel_source_dir}>"
|
||||
)
|
||||
target_compile_features(Renderive_Kernel PUBLIC cxx_std_20)
|
||||
target_link_libraries(Renderive_Kernel PRIVATE Taskflow::Taskflow Threads::Threads)
|
||||
if(MSVC)
|
||||
if (MSVC)
|
||||
target_compile_options(Renderive_Kernel PRIVATE /utf-8)
|
||||
endif()
|
||||
if(RENDERIVE_BUILD_TESTS)
|
||||
endif ()
|
||||
if (RENDERIVE_BUILD_TESTS)
|
||||
set(Renderive_Kernel_test_dir "${CMAKE_CURRENT_LIST_DIR}/tests")
|
||||
append_glob_source(Renderive_Kernel_test_sources "${Renderive_Kernel_test_dir}")
|
||||
foreach(Renderive_Kernel_test_source IN LISTS Renderive_Kernel_test_sources)
|
||||
if(NOT Renderive_Kernel_test_source MATCHES "\\.(c|cc|cpp|cxx)$")
|
||||
foreach (Renderive_Kernel_test_source IN LISTS Renderive_Kernel_test_sources)
|
||||
if (NOT Renderive_Kernel_test_source MATCHES "\\.(c|cc|cpp|cxx)$")
|
||||
continue()
|
||||
endif()
|
||||
endif ()
|
||||
file(RELATIVE_PATH Renderive_Kernel_test_name "${Renderive_Kernel_test_dir}" "${Renderive_Kernel_test_source}")
|
||||
string(MD5 Renderive_Kernel_test_hash "${Renderive_Kernel_test_name}")
|
||||
string(SUBSTRING "${Renderive_Kernel_test_hash}" 0 8 Renderive_Kernel_test_hash)
|
||||
@@ -41,9 +41,9 @@ if(RENDERIVE_BUILD_TESTS)
|
||||
set(Renderive_Kernel_test_target "Renderive_Kernel_${Renderive_Kernel_test_name}_${Renderive_Kernel_test_hash}")
|
||||
add_executable("${Renderive_Kernel_test_target}" "${Renderive_Kernel_test_source}")
|
||||
target_include_directories("${Renderive_Kernel_test_target}" PRIVATE
|
||||
"${Renderive_Kernel_test_dir}"
|
||||
"${Renderive_Kernel_test_dir}"
|
||||
)
|
||||
target_link_libraries("${Renderive_Kernel_test_target}" PRIVATE Renderive_Kernel GTest::gtest_main)
|
||||
add_test(NAME "${Renderive_Kernel_test_target}" COMMAND "${Renderive_Kernel_test_target}")
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@ rcl_add_dependency_action_targets(Renderive_Qt_env ${Renderive_Qt_dependencies})
|
||||
set_target_properties(Renderive_Qt_env PROPERTIES FOLDER Renderive_Qt)
|
||||
library_is_installed_with_rely(Renderive_Qt_dependencies_installed ${Renderive_Qt_dependencies})
|
||||
if(NOT Renderive_Qt_dependencies_installed)
|
||||
rcl_log_append("[FATAL_ERROR] Renderive_Qt dependencies are not installed. Build Renderive_Qt_env first")
|
||||
rcl_log_append(${CMAKE_CURRENT_LIST_LINE} "[FATAL_ERROR] Renderive_Qt dependencies are not installed. Build Renderive_Qt_env first")
|
||||
return()
|
||||
endif()
|
||||
if(Renderive_Qt_dependencies)
|
||||
@@ -17,7 +17,7 @@ if(RENDERIVE_BUILD_TESTS)
|
||||
find_package(GTest CONFIG REQUIRED)
|
||||
endif()
|
||||
if(NOT TARGET Renderive_render_2D)
|
||||
rcl_log_append("[FATAL_ERROR] Renderive_Qt requires Renderive_render_2D")
|
||||
rcl_log_append(${CMAKE_CURRENT_LIST_LINE} "[FATAL_ERROR] Renderive_Qt requires Renderive_render_2D")
|
||||
return()
|
||||
endif()
|
||||
set(Renderive_Qt_source_dir "${CMAKE_CURRENT_LIST_DIR}")
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
#pragma once
|
||||
#include "render_2D/export.h"
|
||||
#include "../../render_2D/src/export.h"
|
||||
#include <QColor>
|
||||
#include <QEvent>
|
||||
#include <QPaintEvent>
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
include_guard(GLOBAL)
|
||||
block()
|
||||
_register_git_cmake_library(renderive::pthreads4w
|
||||
"https://github.com/GerHobbelt/pthread-win32.git"
|
||||
"v3.0.3.1"
|
||||
)
|
||||
rcl_get_effective_install_dir(renderive::pthreads4w PTHREADS4W_ROOT)
|
||||
set(PTHREADS4W_INCLUDE_DIR "${PTHREADS4W_ROOT}/include")
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(PTHREADS4W_LIBRARY "${PTHREADS4W_ROOT}/lib/libpthreadVC3d.lib")
|
||||
else ()
|
||||
set(PTHREADS4W_LIBRARY "${PTHREADS4W_ROOT}/lib/libpthreadVC3.lib")
|
||||
endif ()
|
||||
set(PTHREADS4W_CONFIG_DIR "${CMAKE_CURRENT_LIST_DIR}/pthreads4w_config")
|
||||
set(pthreads4w_opts
|
||||
-DENABLE_TESTS=OFF
|
||||
"-DDLLDEST=${PTHREADS4W_ROOT}/bin"
|
||||
"-DLIBDEST=${PTHREADS4W_ROOT}/lib"
|
||||
"-DHDRDEST=${PTHREADS4W_ROOT}/include"
|
||||
)
|
||||
rcl_cmake_library_set_cmake_options(renderive::pthreads4w ${pthreads4w_opts})
|
||||
rcl_cmake_library_set_other_use_opt(renderive::pthreads4w
|
||||
"-DPThreads4W_DIR=\"${PTHREADS4W_CONFIG_DIR}\""
|
||||
"-DPThreads4W_INCLUDE_DIR=\"${PTHREADS4W_INCLUDE_DIR}\""
|
||||
"-DPThreads4W_LIBRARY=\"${PTHREADS4W_LIBRARY}\""
|
||||
)
|
||||
rcl_cmake_library_set_init_script(renderive::pthreads4w
|
||||
"set(PThreads4W_DIR \"${PTHREADS4W_CONFIG_DIR}\")"
|
||||
"set(PThreads4W_INCLUDE_DIR \"${PTHREADS4W_INCLUDE_DIR}\")"
|
||||
)
|
||||
rcl_cmake_library_set_clear_script(renderive::pthreads4w
|
||||
"unset(PThreads4W_DIR)"
|
||||
"unset(PThreads4W_INCLUDE_DIR)"
|
||||
"unset(PThreads4W_LIBRARY)"
|
||||
)
|
||||
endblock()
|
||||
+19
-19
@@ -1,42 +1,42 @@
|
||||
set(Renderive_render_2D_dependencies global::blend2d)
|
||||
if(RENDERIVE_BUILD_TESTS)
|
||||
if (RENDERIVE_BUILD_TESTS)
|
||||
list(APPEND Renderive_render_2D_dependencies global::GTest)
|
||||
endif()
|
||||
endif ()
|
||||
rcl_add_dependency_action_targets(Renderive_render_2D_env ${Renderive_render_2D_dependencies})
|
||||
set_target_properties(Renderive_render_2D_env PROPERTIES FOLDER Renderive_render_2D)
|
||||
library_is_installed_with_rely(Renderive_render_2D_dependencies_installed ${Renderive_render_2D_dependencies})
|
||||
if(NOT Renderive_render_2D_dependencies_installed)
|
||||
rcl_log_append("[FATAL_ERROR] Renderive_render_2D dependencies are not installed. Build Renderive_render_2D_env first")
|
||||
if (NOT Renderive_render_2D_dependencies_installed)
|
||||
rcl_log_append(${CMAKE_CURRENT_LIST_LINE} "[FATAL_ERROR] Renderive_render_2D dependencies are not installed. Build Renderive_render_2D_env first")
|
||||
return()
|
||||
endif()
|
||||
endif ()
|
||||
rcl_load_dependency_environment(${Renderive_render_2D_dependencies})
|
||||
find_package(blend2d CONFIG REQUIRED)
|
||||
if(RENDERIVE_BUILD_TESTS)
|
||||
if (RENDERIVE_BUILD_TESTS)
|
||||
find_package(GTest CONFIG REQUIRED)
|
||||
endif()
|
||||
if(NOT TARGET Renderive_Kernel)
|
||||
rcl_log_append("[FATAL_ERROR] Renderive_render_2D requires Renderive_Kernel")
|
||||
endif ()
|
||||
if (NOT TARGET Renderive_Kernel)
|
||||
rcl_log_append(${CMAKE_CURRENT_LIST_LINE} "[FATAL_ERROR] Renderive_render_2D requires Renderive_Kernel")
|
||||
return()
|
||||
endif()
|
||||
endif ()
|
||||
set(Renderive_render_2D_source_dir "${CMAKE_CURRENT_LIST_DIR}")
|
||||
append_glob_source(Renderive_render_2D_sources "${Renderive_render_2D_source_dir}")
|
||||
list(FILTER Renderive_render_2D_sources EXCLUDE REGEX "/tests/")
|
||||
add_library(Renderive_render_2D STATIC ${Renderive_render_2D_sources})
|
||||
target_include_directories(Renderive_render_2D PUBLIC
|
||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/..>"
|
||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>"
|
||||
)
|
||||
target_compile_features(Renderive_render_2D PUBLIC cxx_std_20)
|
||||
target_link_libraries(Renderive_render_2D PUBLIC Renderive_Kernel blend2d::blend2d)
|
||||
if(MSVC)
|
||||
if (MSVC)
|
||||
target_compile_options(Renderive_render_2D PRIVATE /utf-8)
|
||||
endif()
|
||||
if(RENDERIVE_BUILD_TESTS)
|
||||
endif ()
|
||||
if (RENDERIVE_BUILD_TESTS)
|
||||
set(Renderive_render_2D_test_dir "${CMAKE_CURRENT_LIST_DIR}/tests")
|
||||
append_glob_source(Renderive_render_2D_test_sources "${Renderive_render_2D_test_dir}")
|
||||
foreach(Renderive_render_2D_test_source IN LISTS Renderive_render_2D_test_sources)
|
||||
if(NOT Renderive_render_2D_test_source MATCHES "\\.(c|cc|cpp|cxx)$")
|
||||
foreach (Renderive_render_2D_test_source IN LISTS Renderive_render_2D_test_sources)
|
||||
if (NOT Renderive_render_2D_test_source MATCHES "\\.(c|cc|cpp|cxx)$")
|
||||
continue()
|
||||
endif()
|
||||
endif ()
|
||||
file(RELATIVE_PATH Renderive_render_2D_test_name "${Renderive_render_2D_test_dir}" "${Renderive_render_2D_test_source}")
|
||||
string(MD5 Renderive_render_2D_test_hash "${Renderive_render_2D_test_name}")
|
||||
string(SUBSTRING "${Renderive_render_2D_test_hash}" 0 8 Renderive_render_2D_test_hash)
|
||||
@@ -46,5 +46,5 @@ if(RENDERIVE_BUILD_TESTS)
|
||||
add_executable("${Renderive_render_2D_test_target}" "${Renderive_render_2D_test_source}")
|
||||
target_link_libraries("${Renderive_render_2D_test_target}" PRIVATE Renderive_render_2D GTest::gtest_main)
|
||||
add_test(NAME "${Renderive_render_2D_test_target}" COMMAND "${Renderive_render_2D_test_target}")
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "render_2D/export.h"
|
||||
#include "../src/export.h"
|
||||
#include <gtest/gtest.h>
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "render_2D/export.h"
|
||||
#include "../src/export.h"
|
||||
#include "render_2D/plottable/Curve_Sampling.h"
|
||||
#include "render_2D/render/Blend2D_Cache.h"
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
# 加载 datoviz的依赖库
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/cmake/export.cmake)
|
||||
set(Renderive_render_3D_dependencies render_3D::pthreads4w render_3D::cglm)
|
||||
if (RENDERIVE_BUILD_TESTS)
|
||||
list(APPEND Renderive_render_3D_dependencies global::GTest)
|
||||
endif ()
|
||||
rcl_add_dependency_action_targets(Renderive_render_3D_env ${Renderive_render_3D_dependencies})
|
||||
set_target_properties(Renderive_render_3D_env PROPERTIES FOLDER Renderive_render_3D)
|
||||
library_is_installed_with_rely(Renderive_render_3D_dependencies_installed ${Renderive_render_3D_dependencies})
|
||||
if (NOT Renderive_render_3D_dependencies_installed)
|
||||
rcl_log_append(${CMAKE_CURRENT_LIST_LINE} "[FATAL_ERROR] Renderive_render_3D dependencies are not installed. Build Renderive_render_3D_env first")
|
||||
return()
|
||||
endif ()
|
||||
rcl_load_dependency_environment(${Renderive_render_3D_dependencies})
|
||||
# 官网下载安装 https://vulkan.lunarg.com/sdk/home
|
||||
set(ENV{VULKAN_SDK} "C:/VulkanSDK/1.4.357.0")
|
||||
find_package(Vulkan REQUIRED)
|
||||
message(STATUS "${B}Vulkan_VERSION=${Vulkan_VERSION}${E}")
|
||||
find_package(PThreads4W REQUIRED)
|
||||
find_package(cglm CONFIG REQUIRED)
|
||||
if (RENDERIVE_BUILD_TESTS)
|
||||
find_package(GTest CONFIG REQUIRED)
|
||||
endif ()
|
||||
if (NOT TARGET Renderive_Kernel)
|
||||
rcl_log_append(${CMAKE_CURRENT_LIST_LINE} "[FATAL_ERROR] Renderive_render_3D requires Renderive_Kernel")
|
||||
return()
|
||||
endif ()
|
||||
set(Renderive_render_3D_source_dir "${CMAKE_CURRENT_LIST_DIR}")
|
||||
append_glob_source(Renderive_render_3D_sources "${Renderive_render_3D_source_dir}")
|
||||
list(FILTER Renderive_render_3D_sources EXCLUDE REGEX "/tests/")
|
||||
add_library(Renderive_render_3D STATIC ${Renderive_render_3D_sources})
|
||||
target_include_directories(Renderive_render_3D PUBLIC
|
||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>"
|
||||
)
|
||||
target_compile_features(Renderive_render_3D PUBLIC cxx_std_20)
|
||||
if (MSVC)
|
||||
target_compile_options(Renderive_render_3D PRIVATE /utf-8)
|
||||
endif ()
|
||||
if (RENDERIVE_BUILD_TESTS)
|
||||
set(Renderive_render_3D_test_dir "${CMAKE_CURRENT_LIST_DIR}/tests")
|
||||
append_glob_source(Renderive_render_3D_test_sources "${Renderive_render_3D_test_dir}")
|
||||
foreach (Renderive_render_3D_test_source IN LISTS Renderive_render_3D_test_sources)
|
||||
if (NOT Renderive_render_3D_test_source MATCHES "\\.(c|cc|cpp|cxx)$")
|
||||
continue()
|
||||
endif ()
|
||||
file(RELATIVE_PATH Renderive_render_3D_test_name "${Renderive_render_3D_test_dir}" "${Renderive_render_3D_test_source}")
|
||||
string(MD5 Renderive_render_3D_test_hash "${Renderive_render_3D_test_name}")
|
||||
string(SUBSTRING "${Renderive_render_3D_test_hash}" 0 8 Renderive_render_3D_test_hash)
|
||||
get_filename_component(Renderive_render_3D_test_name "${Renderive_render_3D_test_source}" NAME_WE)
|
||||
string(MAKE_C_IDENTIFIER "${Renderive_render_3D_test_name}" Renderive_render_3D_test_name)
|
||||
set(Renderive_render_3D_test_target "Renderive_render_3D_${Renderive_render_3D_test_name}_${Renderive_render_3D_test_hash}")
|
||||
add_executable("${Renderive_render_3D_test_target}" "${Renderive_render_3D_test_source}")
|
||||
target_link_libraries("${Renderive_render_3D_test_target}" PRIVATE Renderive_render_3D GTest::gtest_main)
|
||||
add_test(NAME "${Renderive_render_3D_test_target}" COMMAND "${Renderive_render_3D_test_target}")
|
||||
endforeach ()
|
||||
endif ()
|
||||
@@ -0,0 +1,24 @@
|
||||
include_guard(GLOBAL)
|
||||
block()
|
||||
_register_git_cmake_library(render_3D::cglm
|
||||
"https://github.com/recp/cglm.git"
|
||||
"v0.9.6"
|
||||
)
|
||||
rcl_get_effective_install_dir(render_3D::cglm CGLM_ROOT)
|
||||
set(CGLM_CONFIG_DIR "${CGLM_ROOT}/lib/cmake/cglm")
|
||||
set(cglm_opts
|
||||
-DCGLM_SHARED=OFF
|
||||
-DCGLM_STATIC=ON
|
||||
-DCGLM_USE_TEST=OFF
|
||||
)
|
||||
rcl_cmake_library_set_cmake_options(render_3D::cglm ${cglm_opts})
|
||||
rcl_cmake_library_set_other_use_opt(render_3D::cglm
|
||||
"-Dcglm_DIR=\"${CGLM_CONFIG_DIR}\""
|
||||
)
|
||||
rcl_cmake_library_set_init_script(render_3D::cglm
|
||||
"set(cglm_DIR \"${CGLM_CONFIG_DIR}\")"
|
||||
)
|
||||
rcl_cmake_library_set_clear_script(render_3D::cglm
|
||||
"unset(cglm_DIR)"
|
||||
)
|
||||
endblock()
|
||||
@@ -0,0 +1,4 @@
|
||||
rcl_init(render_3D)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/pthreads4w.cmake)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/cglm.cmake)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/module")
|
||||
@@ -0,0 +1,25 @@
|
||||
include_guard(GLOBAL)
|
||||
rcl_get_effective_install_dir(render_3D::pthreads4w PTHREADS4W_ROOT)
|
||||
set(PThreads4W_INCLUDE_DIR "${PTHREADS4W_ROOT}/include")
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(PThreads4W_LIBRARY "${PTHREADS4W_ROOT}/lib/pthreadVC3d.lib")
|
||||
else ()
|
||||
set(PThreads4W_LIBRARY "${PTHREADS4W_ROOT}/lib/pthreadVC3.lib")
|
||||
endif ()
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(PThreads4W
|
||||
REQUIRED_VARS
|
||||
PThreads4W_INCLUDE_DIR
|
||||
PThreads4W_LIBRARY
|
||||
)
|
||||
if (PThreads4W_FOUND AND NOT TARGET PThreads4W::PThreads4W)
|
||||
add_library(PThreads4W::PThreads4W UNKNOWN IMPORTED)
|
||||
set_target_properties(PThreads4W::PThreads4W PROPERTIES
|
||||
IMPORTED_LOCATION "${PThreads4W_LIBRARY}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${PThreads4W_INCLUDE_DIR}"
|
||||
)
|
||||
endif ()
|
||||
mark_as_advanced(
|
||||
PThreads4W_INCLUDE_DIR
|
||||
PThreads4W_LIBRARY
|
||||
)
|
||||
@@ -0,0 +1,37 @@
|
||||
include_guard(GLOBAL)
|
||||
block()
|
||||
if (WIN32)
|
||||
_register_git_cmake_library(render_3D::pthreads4w
|
||||
"https://github.com/GerHobbelt/pthread-win32.git"
|
||||
"v3.0.3.1"
|
||||
)
|
||||
rcl_get_effective_install_dir(render_3D::pthreads4w PTHREADS4W_ROOT)
|
||||
set(PTHREADS4W_INCLUDE_DIR "${PTHREADS4W_ROOT}/include")
|
||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(PTHREADS4W_LIBRARY "${PTHREADS4W_ROOT}/lib/pthreadVC3d.lib")
|
||||
else ()
|
||||
set(PTHREADS4W_LIBRARY "${PTHREADS4W_ROOT}/lib/pthreadVC3.lib")
|
||||
endif ()
|
||||
set(pthreads4w_opts
|
||||
-DENABLE_TESTS=OFF
|
||||
"-DCMAKE_C_FLAGS=-D_WINDLL"
|
||||
"-DCMAKE_CXX_FLAGS=-D_WINDLL"
|
||||
"-DDLLDEST=${PTHREADS4W_ROOT}/bin"
|
||||
"-DLIBDEST=${PTHREADS4W_ROOT}/lib"
|
||||
"-DHDRDEST=${PTHREADS4W_ROOT}/include"
|
||||
)
|
||||
rcl_cmake_library_set_cmake_options(render_3D::pthreads4w ${pthreads4w_opts})
|
||||
rcl_cmake_library_set_other_use_opt(render_3D::pthreads4w
|
||||
"-DPThreads4W_INCLUDE_DIR=\"${PTHREADS4W_INCLUDE_DIR}\""
|
||||
"-DPThreads4W_LIBRARY=\"${PTHREADS4W_LIBRARY}\""
|
||||
)
|
||||
rcl_cmake_library_set_init_script(render_3D::pthreads4w
|
||||
"set(PThreads4W_INCLUDE_DIR \"${PTHREADS4W_INCLUDE_DIR}\")"
|
||||
"set(PThreads4W_LIBRARY \"${PTHREADS4W_LIBRARY}\")"
|
||||
)
|
||||
rcl_cmake_library_set_clear_script(render_3D::pthreads4w
|
||||
"unset(PThreads4W_INCLUDE_DIR)"
|
||||
"unset(PThreads4W_LIBRARY)"
|
||||
)
|
||||
endif ()
|
||||
endblock()
|
||||
@@ -88,7 +88,7 @@ add_custom_target(Renderive_Web_Assets
|
||||
)
|
||||
library_is_installed_with_rely(Renderive_Web_dependencies_installed ${Renderive_Web_dependencies})
|
||||
if (NOT Renderive_Web_dependencies_installed)
|
||||
rcl_log_append("[FATAL_ERROR] Renderive_Web dependencies are not installed. Build Renderive_Web_env first")
|
||||
rcl_log_append(${CMAKE_CURRENT_LIST_LINE} "[FATAL_ERROR] Renderive_Web dependencies are not installed. Build Renderive_Web_env first")
|
||||
return()
|
||||
endif ()
|
||||
function(renderive_find_web_dependencies)
|
||||
@@ -105,7 +105,7 @@ function(renderive_find_web_dependencies)
|
||||
endfunction()
|
||||
renderive_find_web_dependencies()
|
||||
if (NOT TARGET Renderive_render_2D)
|
||||
rcl_log_append("[FATAL_ERROR] Renderive_Web requires Renderive_render_2D")
|
||||
rcl_log_append(${CMAKE_CURRENT_LIST_LINE} "[FATAL_ERROR] Renderive_Web requires Renderive_render_2D")
|
||||
return()
|
||||
endif ()
|
||||
if (NOT TARGET Adminive::Nlohmann)
|
||||
|
||||
Reference in New Issue
Block a user