修正cmake
This commit is contained in:
@@ -23,11 +23,14 @@ if (WIN32 AND DEFINED ENV{APPDATA})
|
||||
endif ()
|
||||
find_program(Renderive_Web_node_executable NAMES node node.exe
|
||||
HINTS ${Renderive_Web_node_search_paths} REQUIRED)
|
||||
get_filename_component(Renderive_Web_node_dir "${Renderive_Web_node_executable}" DIRECTORY)
|
||||
if (WIN32)
|
||||
find_program(Renderive_Web_npm_executable NAMES npm.cmd
|
||||
HINTS ${Renderive_Web_node_search_paths} REQUIRED)
|
||||
set(Renderive_Web_npm_executable "${Renderive_Web_node_dir}/npm.cmd")
|
||||
else ()
|
||||
find_program(Renderive_Web_npm_executable NAMES npm REQUIRED)
|
||||
set(Renderive_Web_npm_executable "${Renderive_Web_node_dir}/npm")
|
||||
endif ()
|
||||
if (NOT EXISTS "${Renderive_Web_npm_executable}")
|
||||
message(FATAL_ERROR "npm was not found next to Node.js: ${Renderive_Web_node_dir}")
|
||||
endif ()
|
||||
set(Renderive_Web_frontend_dir "${CMAKE_CURRENT_LIST_DIR}/../webapp_gallery")
|
||||
set(Renderive_Web_frontend_install_stamp "${CMAKE_CURRENT_BINARY_DIR}/webapp_gallery_npm_ci.stamp")
|
||||
@@ -43,9 +46,16 @@ set(Renderive_Web_frontend_configuration
|
||||
"${Renderive_Web_frontend_dir}/tsconfig.app.json"
|
||||
"${Renderive_Web_frontend_dir}/index.html"
|
||||
)
|
||||
if (WIN32)
|
||||
set(Renderive_Web_node_path "${Renderive_Web_node_dir};$ENV{PATH}")
|
||||
else ()
|
||||
set(Renderive_Web_node_path "${Renderive_Web_node_dir}:$ENV{PATH}")
|
||||
endif ()
|
||||
add_custom_command(
|
||||
OUTPUT "${Renderive_Web_frontend_install_stamp}"
|
||||
COMMAND "${Renderive_Web_npm_executable}" ci
|
||||
COMMAND "${CMAKE_COMMAND}" -E env
|
||||
"PATH=${Renderive_Web_node_path}"
|
||||
"${Renderive_Web_npm_executable}" ci
|
||||
COMMAND "${CMAKE_COMMAND}" -E touch "${Renderive_Web_frontend_install_stamp}"
|
||||
DEPENDS
|
||||
"${Renderive_Web_frontend_dir}/package.json"
|
||||
@@ -56,7 +66,9 @@ add_custom_command(
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT "${Renderive_Web_frontend_build_stamp}"
|
||||
COMMAND "${Renderive_Web_npm_executable}" run build
|
||||
COMMAND "${CMAKE_COMMAND}" -E env
|
||||
"PATH=${Renderive_Web_node_path}"
|
||||
"${Renderive_Web_npm_executable}" run build
|
||||
COMMAND "${CMAKE_COMMAND}" -E touch "${Renderive_Web_frontend_build_stamp}"
|
||||
DEPENDS "${Renderive_Web_frontend_install_stamp}"
|
||||
${Renderive_Web_frontend_configuration}
|
||||
@@ -124,7 +136,7 @@ append_glob_source(Renderive_Web_Server_sources "${Renderive_Web_Server_source_d
|
||||
add_executable(Renderive_Web_Server ${Renderive_Web_Server_sources})
|
||||
target_compile_features(Renderive_Web_Server PRIVATE cxx_std_20)
|
||||
target_link_libraries(Renderive_Web_Server PRIVATE Renderive_Web)
|
||||
add_dependencies(Renderive_Web_Server Renderive_Web_Assets)
|
||||
#add_dependencies(Renderive_Web_Server Renderive_Web_Assets)
|
||||
if (MSVC)
|
||||
target_compile_options(Renderive_Web PRIVATE /utf-8)
|
||||
target_compile_options(Renderive_Web_Server PRIVATE /utf-8)
|
||||
@@ -146,4 +158,4 @@ if (RENDERIVE_BUILD_TESTS)
|
||||
target_link_libraries("${Renderive_Web_test_target}" PRIVATE Renderive_Web Adminive::Nlohmann GTest::gtest_main)
|
||||
add_test(NAME "${Renderive_Web_test_target}" COMMAND "${Renderive_Web_test_target}")
|
||||
endforeach ()
|
||||
endif ()
|
||||
endif ()
|
||||
Reference in New Issue
Block a user