11set (__install_dest share/exago/viz)
22
33set (EXAGO_VIZ_SUBDIRS backend components data geo_data images src)
4+ set (EXAGO_VIZ_DIR "${CMAKE_CURRENT_SOURCE_DIR } " )
45
56set (EXAGO_VIZ_FILES
67 ${CMAKE_CURRENT_SOURCE_DIR } /exago-logo.png
@@ -14,5 +15,50 @@ set(EXAGO_VIZ_FILES
1415 ${CMAKE_CURRENT_SOURCE_DIR } /vite.config.ts
1516)
1617
18+ find_program (YARN_EXECUTABLE yarn REQUIRED
19+ DOC "Path to the yarn package manager"
20+ )
21+ message (STATUS "Found yarn: ${YARN_EXECUTABLE} " )
22+
23+ if (NOT EXISTS "${EXAGO_VIZ_DIR} /package.json" )
24+ message (FATAL_ERROR "No package.json found: ${EXAGO_VIZ_DIR} \n " )
25+ endif ()
26+
27+ set (YARN_STAMP "${CMAKE_CURRENT_BINARY_DIR } /yarn_install.stamp" )
28+ add_custom_command (
29+ OUTPUT "${YARN_STAMP} "
30+ COMMAND "${YARN_EXECUTABLE} " install
31+ COMMAND "${CMAKE_COMMAND } " -E touch "${YARN_STAMP} "
32+ WORKING_DIRECTORY "${EXAGO_VIZ_DIR} "
33+ DEPENDS "${EXAGO_VIZ_DIR} /package.json"
34+ "${EXAGO_VIZ_DIR} /yarn.lock"
35+ COMMENT "Running yarn install in ${EXAGO_VIZ_DIR} "
36+ VERBATIM
37+ )
38+ add_custom_target (yarn_install ALL
39+ DEPENDS "${YARN_STAMP} "
40+ )
41+
1742install (DIRECTORY ${EXAGO_VIZ_SUBDIRS} DESTINATION ${__install_dest} )
1843install (FILES ${EXAGO_VIZ_FILES} DESTINATION ${__install_dest} )
44+ install (CODE "
45+
46+ set(INSTALL_DIR \"\$ {CMAKE_INSTALL_PREFIX}/share/exago/viz\" )
47+
48+ if(NOT EXISTS \"\$ {INSTALL_DIR}/package.json\" )
49+ message(FATAL_ERROR \" package.json not found in \$ {INSTALL_DIR} — file copy may have failed.\" )
50+ endif()
51+
52+ message(STATUS \" Running yarn install in \$ {INSTALL_DIR}\" )
53+ execute_process(
54+ COMMAND \" ${YARN_EXECUTABLE} \" install
55+ WORKING_DIRECTORY \"\$ {INSTALL_DIR}\"
56+ RESULT_VARIABLE YARN_RESULT
57+ )
58+
59+ if(NOT YARN_RESULT EQUAL 0)
60+ message(FATAL_ERROR \" yarn install failed in \$ {INSTALL_DIR} (exit code: \$ {YARN_RESULT})\" )
61+ endif()
62+
63+ message(STATUS \" yarn install complete in \$ {INSTALL_DIR}\" )
64+ " )
0 commit comments