microsoft / vcpkg

C++ Library Manager for Windows, Linux, and MacOS
MIT License
22.75k stars 6.29k forks source link

[glfw3] Build error on wasm32-emscripten #36529

Closed layola13 closed 3 days ago

layola13 commented 7 months ago

Copy issue body from /home/rock/project/threepp/wasm/vcpkg_installed/vcpkg/issue_body.md

 find_package(glfw3 CONFIG REQUIRED)
find_package(glad CONFIG REQUIRED)
find_package(stb CONFIG QUIET)

emcmake cmake .. -DCMAKE_EXE_LINKER_FLAGS="-s USE_GLFW=3"

here is out.log

[1/2] "/home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/bin/cmake" -E chdir ".." "/home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/bin/cmake" "/home/rock/vcpkg/buildtrees/glfw3/src/3.3.9-5e1d739809.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=/home/rock/vcpkg/packages/glfw3_wasm32-emscripten" "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DGLFW_BUILD_EXAMPLES=OFF" "-DGLFW_BUILD_TESTS=OFF" "-DGLFW_BUILD_DOCS=OFF" "-DGLFW_USE_WAYLAND=OFF" "-DCMAKE_MAKE_PROGRAM=/home/rock/vcpkg/downloads/tools/ninja/1.10.2-linux/ninja" "-DCMAKE_SYSTEM_NAME=Emscripten" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=/home/rock/tools/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake" "-DVCPKG_TARGET_TRIPLET=wasm32-emscripten" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=external" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=/home/rock/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=wasm32" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=/home/rock/vcpkg" "-D_VCPKG_INSTALLED_DIR=/home/rock/project/threepp/wasm/vcpkg_installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
FAILED: ../CMakeCache.txt 
"/home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/bin/cmake" -E chdir ".." "/home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/bin/cmake" "/home/rock/vcpkg/buildtrees/glfw3/src/3.3.9-5e1d739809.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=/home/rock/vcpkg/packages/glfw3_wasm32-emscripten" "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DGLFW_BUILD_EXAMPLES=OFF" "-DGLFW_BUILD_TESTS=OFF" "-DGLFW_BUILD_DOCS=OFF" "-DGLFW_USE_WAYLAND=OFF" "-DCMAKE_MAKE_PROGRAM=/home/rock/vcpkg/downloads/tools/ninja/1.10.2-linux/ninja" "-DCMAKE_SYSTEM_NAME=Emscripten" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=/home/rock/tools/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake" "-DVCPKG_TARGET_TRIPLET=wasm32-emscripten" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=external" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=/home/rock/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=wasm32" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=/home/rock/vcpkg" "-D_VCPKG_INSTALLED_DIR=/home/rock/project/threepp/wasm/vcpkg_installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Using X11 for window creation
CMake Error at /home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find X11 (missing: X11_X11_LIB)
Call Stack (most recent call first):
  /home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/share/cmake-3.27/Modules/FindX11.cmake:665 (find_package_handle_standard_args)
  /home/rock/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package)
  CMakeLists.txt:211 (find_package)

-- Configuring incomplete, errors occurred!
[2/2] "/home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/bin/cmake" -E chdir "../../wasm32-emscripten-dbg" "/home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/bin/cmake" "/home/rock/vcpkg/buildtrees/glfw3/src/3.3.9-5e1d739809.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=/home/rock/vcpkg/packages/glfw3_wasm32-emscripten/debug" "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DGLFW_BUILD_EXAMPLES=OFF" "-DGLFW_BUILD_TESTS=OFF" "-DGLFW_BUILD_DOCS=OFF" "-DGLFW_USE_WAYLAND=OFF" "-DCMAKE_MAKE_PROGRAM=/home/rock/vcpkg/downloads/tools/ninja/1.10.2-linux/ninja" "-DCMAKE_SYSTEM_NAME=Emscripten" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=/home/rock/tools/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake" "-DVCPKG_TARGET_TRIPLET=wasm32-emscripten" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=external" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=/home/rock/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=wasm32" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=/home/rock/vcpkg" "-D_VCPKG_INSTALLED_DIR=/home/rock/project/threepp/wasm/vcpkg_installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
FAILED: ../../wasm32-emscripten-dbg/CMakeCache.txt 
"/home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/bin/cmake" -E chdir "../../wasm32-emscripten-dbg" "/home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/bin/cmake" "/home/rock/vcpkg/buildtrees/glfw3/src/3.3.9-5e1d739809.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=/home/rock/vcpkg/packages/glfw3_wasm32-emscripten/debug" "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DGLFW_BUILD_EXAMPLES=OFF" "-DGLFW_BUILD_TESTS=OFF" "-DGLFW_BUILD_DOCS=OFF" "-DGLFW_USE_WAYLAND=OFF" "-DCMAKE_MAKE_PROGRAM=/home/rock/vcpkg/downloads/tools/ninja/1.10.2-linux/ninja" "-DCMAKE_SYSTEM_NAME=Emscripten" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=/home/rock/tools/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake" "-DVCPKG_TARGET_TRIPLET=wasm32-emscripten" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=external" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=/home/rock/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=wasm32" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=/home/rock/vcpkg" "-D_VCPKG_INSTALLED_DIR=/home/rock/project/threepp/wasm/vcpkg_installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Using X11 for window creation
CMake Error at /home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find X11 (missing: X11_X11_LIB)
Call Stack (most recent call first):
  /home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /home/rock/vcpkg/downloads/tools/cmake-3.27.1-linux/cmake-3.27.1-linux-x86_64/share/cmake-3.27/Modules/FindX11.cmake:665 (find_package_handle_standard_args)
  /home/rock/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package)
  CMakeLists.txt:211 (find_package)

-- Configuring incomplete, errors occurred!
ninja: build stopped: subcommand failed.

compile

configure: cmake .. "-DCMAKE_EXE_LINKER_FLAGS=-s USE_GLFW=3" -DCMAKE_TOOLCHAIN_FILE=/home/rock/tools/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=/home/rock/tools/emsdk/node/16.20.0_64bit/bin/node
-- Running vcpkg install
Detecting compiler hash for triplet x64-linux...
Detecting compiler hash for triplet wasm32-emscripten...
The following packages will be built and installed:
  * egl-registry:wasm32-emscripten -> 2022-09-20
    glad[core,extensions,gl-api-10,gl-api-11,gl-api-12,gl-api-13,gl-api-14,gl-api-15,gl-api-20,gl-api-21,gl-api-30,gl-api-31,gl-api-32,gl-api-33,gl-api-40,gl-api-41,loader]:wasm32-emscripten -> 0.1.36
    glfw3:wasm32-emscripten -> 3.3.9
  * opengl-registry:wasm32-emscripten -> 2022-09-29#1
    stb:wasm32-emscripten -> 2023-04-11#1
  * vcpkg-cmake:x64-linux -> 2023-05-04
  * vcpkg-cmake-config:x64-linux -> 2022-02-06#1
Additional packages (*) will be modified to complete this operation.
Restored 5 package(s) from /root/.cache/vcpkg/archives in 32.4 ms. Use --debug to see more details.
Installing 1/7 vcpkg-cmake-config:x64-linux...
Elapsed time to handle vcpkg-cmake-config:x64-linux: 330 us
Installing 2/7 vcpkg-cmake:x64-linux...
Elapsed time to handle vcpkg-cmake:x64-linux: 216 us
Installing 3/7 egl-registry:wasm32-emscripten...
Elapsed time to handle egl-registry:wasm32-emscripten: 388 us
Installing 4/7 opengl-registry:wasm32-emscripten...
Elapsed time to handle opengl-registry:wasm32-emscripten: 556 us
Installing 5/7 glad:wasm32-emscripten...
Elapsed time to handle glad:wasm32-emscripten: 756 us
Installing 6/7 glfw3:wasm32-emscripten...
Building glfw3:wasm32-emscripten...
warning: -- Using community triplet wasm32-emscripten. This triplet configuration is not guaranteed to succeed.
-- [COMMUNITY] Loading triplet configuration from: /home/rock/vcpkg/triplets/community/wasm32-emscripten.cmake
-- Using cached glfw-glfw-3.3.9.tar.gz.
-- Cleaning sources at /home/rock/vcpkg/buildtrees/glfw3/src/3.3.9-5e1d739809.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /home/rock/vcpkg/downloads/glfw-glfw-3.3.9.tar.gz
-- Using source at /home/rock/vcpkg/buildtrees/glfw3/src/3.3.9-5e1d739809.clean
GLFW3 currently requires the following libraries from the system package manager:
    xinerama
    xcursor
    xorg
    libglu1-mesa
    pkg-config

These can be installed via brew install libxinerama-dev libxcursor-dev xorg-dev libglu1-mesa-dev pkg-config
-- Configuring wasm32-emscripten
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:112 (message):
    Command failed: /home/rock/vcpkg/downloads/tools/ninja/1.10.2-linux/ninja -v
    Working Directory: /home/rock/vcpkg/buildtrees/glfw3/wasm32-emscripten-rel/vcpkg-parallel-configure
    Error code: 1
    See logs for more information:
      /home/rock/vcpkg/buildtrees/glfw3/config-wasm32-emscripten-dbg-CMakeCache.txt.log
      /home/rock/vcpkg/buildtrees/glfw3/config-wasm32-emscripten-rel-CMakeCache.txt.log
      /home/rock/vcpkg/buildtrees/glfw3/config-wasm32-emscripten-out.log

Call Stack (most recent call first):
  /home/rock/project/threepp/wasm/vcpkg_installed/x64-linux/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:252 (vcpkg_execute_required_process)
  ports/glfw3/portfile.cmake:40 (vcpkg_cmake_configure)
  scripts/ports.cmake:170 (include)

error: building glfw3:wasm32-emscripten failed with: BUILD_FAILED
Elapsed time to handle glfw3:wasm32-emscripten: 857 ms
Please ensure you're using the latest port files with `git pull` and `vcpkg update`.
Then check for known issues at:
  https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+glfw3
You can submit a new issue at:
  https://github.com/microsoft/vcpkg/issues/new?title=[glfw3]+Build+error+on+wasm32-emscripten&body=Copy+issue+body+from+%2Fhome%2Frock%2Fproject%2Fthreepp%2Fwasm%2Fvcpkg_installed%2Fvcpkg%2Fissue_body.md

-- Running vcpkg install - failed
CMake Error at /home/rock/vcpkg/scripts/buildsystems/vcpkg.cmake:899 (message):
  vcpkg install failed.  See logs for more information:
  /home/rock/project/threepp/wasm/vcpkg-manifest-install.log
Call Stack (most recent call first):
  /usr/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake:124 (include)
  CMakeLists.txt:6 (project)

CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
-- Configuring incomplete, errors occurred!
emcmake: error: 'cmake .. "-DCMAKE_EXE_LINKER_FLAGS=-s USE_GLFW=3" -DCMAKE_TOOLCHAIN_FILE=/home/rock/tools/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_CROSSCOMPILING_EMULATOR=/home/rock/tools/emsdk/node/16.20.0_64bit/bin/node' failed (returned 1)

mycmake

cmake_minimum_required(VERSION 3.19)
set(CMAKE_TOOLCHAIN_FILE "/home/rock/vcpkg/scripts/buildsystems/vcpkg.cmake")
#-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=/home/rock/tools/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "/home/rock/tools/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake")
file(STRINGS "${CMAKE_CURRENT_LIST_DIR}/version.txt" projectVersion)
project(threepp VERSION ${projectVersion})
message("Current ${PROJECT_NAME} version: ${CMAKE_PROJECT_VERSION}\n")

option(THREEPP_BUILD_EXAMPLES "Build examples" ON)
option(THREEPP_BUILD_EXAMPLE_PROJECTS "Build example projects" OFF)
option(THREEPP_BUILD_TESTS "Build test suite" ON)
option(BUILD_SHARED_LIBS "Build shared libraries" OFF)

# ==============================================================================
# Global internal configuration
# ==============================================================================

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)

include(CMakePackageConfigHelpers)
include(GNUInstallDirs)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)

# ==============================================================================
# Dependencies
# ==============================================================================
#"-DCMAKE_TOOLCHAIN_FILE=/home/rock/vcpkg/scripts/buildsystems/vcpkg.cmake"

 find_package(glfw3 CONFIG REQUIRED)
find_package(glad CONFIG REQUIRED)
find_package(stb CONFIG QUIET)

if (NOT TARGET "glfw::glfw" AND TARGET "glfw")
    add_library(glfw::glfw ALIAS glfw)
endif()

if (NOT stb_INCLUDE_DIR)
    find_path(stb_INCLUDE_DIR "stb_c_lexer.h" REQUIRED)
endif()

include(FetchContent)
FetchContent_Declare(
        glText
        GIT_REPOSITORY https://github.com/vallentin/glText.git
        GIT_TAG 8200fa70e32acec0a3cd777d404f41ee0c203ca4
)
FetchContent_Populate(glText)
set(gltext_INCLUDE_DIR "${gltext_SOURCE_DIR}")

# ==============================================================================
# Targets
# ==============================================================================

add_subdirectory(src)

if (THREEPP_BUILD_EXAMPLES)
    add_subdirectory(examples)
endif ()

if (THREEPP_BUILD_TESTS)

    FetchContent_Declare(
            Catch2
            GIT_REPOSITORY https://github.com/catchorg/Catch2.git
            GIT_TAG v3.4.0
    )
    FetchContent_MakeAvailable(Catch2)

    enable_testing()
    add_subdirectory(tests)
endif ()

# ==============================================================================
# Application resources
# ==============================================================================

# Data files
file(COPY "${CMAKE_CURRENT_LIST_DIR}/data/models" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin/data)
file(COPY "${CMAKE_CURRENT_LIST_DIR}/data/textures" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin/data)
file(COPY "${CMAKE_CURRENT_LIST_DIR}/data/fonts" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin/data)
file(COPY "${CMAKE_CURRENT_LIST_DIR}/data/sounds" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/bin/data)

# ==============================================================================
# Exports and remaining installation
# ==============================================================================

configure_package_config_file(cmake/config.cmake.in
        ${CMAKE_CURRENT_BINARY_DIR}/threepp-config.cmake
        INSTALL_DESTINATION ${CMAKE_INSTALL_DATADIR}/threepp
        NO_SET_AND_CHECK_MACRO)
write_basic_package_version_file(
        ${CMAKE_CURRENT_BINARY_DIR}/threepp-config-version.cmake
        VERSION ${CMAKE_PROJECT_VERSION}
        COMPATIBILITY SameMajorVersion)
install(
        FILES
        ${CMAKE_CURRENT_BINARY_DIR}/threepp-config.cmake
        ${CMAKE_CURRENT_BINARY_DIR}/threepp-config-version.cmake
        DESTINATION
        ${CMAKE_INSTALL_DATADIR}/threepp)

install(TARGETS threepp EXPORT threepp-targets)
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(EXPORT threepp-targets
        NAMESPACE threepp::
        DESTINATION ${CMAKE_INSTALL_DATADIR}/threepp)
xiaozhuai commented 1 month ago

I fixed this in my own vcpkg fork. I will submit a pr soon.