diff --git a/CMakeLists.txt b/CMakeLists.txt index 912a8b3b9a5..5e7ee150ead 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -352,14 +352,15 @@ configure_package_config_file( INSTALL_DESTINATION cmake ) -install(TARGETS slang EXPORT SlangExportTarget) - -install( - EXPORT SlangExportTarget - FILE ${PROJECT_NAME}Targets.cmake - NAMESPACE ${PROJECT_NAME}:: - DESTINATION cmake -) +if (NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten") + install(TARGETS slang EXPORT SlangExportTarget) + install( + EXPORT SlangExportTarget + FILE ${PROJECT_NAME}Targets.cmake + NAMESPACE ${PROJECT_NAME}:: + DESTINATION cmake + ) +endif() install( FILES @@ -367,3 +368,4 @@ install( "${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" DESTINATION cmake ) + diff --git a/cmake/SlangConfig.cmake.in b/cmake/SlangConfig.cmake.in index 0074f6ae9b7..2539586902a 100644 --- a/cmake/SlangConfig.cmake.in +++ b/cmake/SlangConfig.cmake.in @@ -1,6 +1,20 @@ @PACKAGE_INIT@ -include("${CMAKE_CURRENT_LIST_DIR}/slangTargets.cmake") -check_required_components("slang") +if (NOT CMAKE_SYSTEM_NAME STREQUAL "Emscripten") + include("${CMAKE_CURRENT_LIST_DIR}/slangTargets.cmake") + check_required_components("slang") +endif() + +if(@SLANG_ENABLE_SLANGC@) + + find_program(SLANGC_EXECUTABLE "slangc" HINTS ENV PATH "${PACKAGE_PREFIX_DIR}/bin") + + if (NOT SLANGC_EXECUTABLE) + message(STATUS "slangc executable not found; ensure it is available in your PATH.") + endif() + + set(SLANG_EXECUTABLE ${SLANGC_EXECUTABLE} CACHE STRING "Path to the slangc executable") + +endif()