diff options
| author | Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> | 2021-07-23 05:52:17 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-22 14:52:17 -0700 |
| commit | 4eebfa3bef00c6a627e9adeb18442055d3172f3f (patch) | |
| tree | ed482114aa10775db21bd9f02c0bd8ffd5c44a3b | |
| parent | 9ee3196412e8ed54f84464b61dbb3cc9b7298523 (diff) | |
| download | vcpkg-4eebfa3bef00c6a627e9adeb18442055d3172f3f.tar.gz vcpkg-4eebfa3bef00c6a627e9adeb18442055d3172f3f.zip | |
[urho3d] Add features, fix usage (#18975)
* [urho3d] Add features, fix usage
* update version stuff
* fix typo
* Correct installation
* fix installation
* update version
* Re-fix install
* Fix tools install
* typo
* Update versions/u-/urho3d.json
| -rw-r--r-- | ports/urho3d/add_options.patch | 17 | ||||
| -rw-r--r-- | ports/urho3d/fix-install.patch | 187 | ||||
| -rw-r--r-- | ports/urho3d/portfile.cmake | 102 | ||||
| -rw-r--r-- | ports/urho3d/vcpkg.json | 12 | ||||
| -rw-r--r-- | versions/baseline.json | 2 | ||||
| -rw-r--r-- | versions/u-/urho3d.json | 5 |
6 files changed, 300 insertions, 25 deletions
diff --git a/ports/urho3d/add_options.patch b/ports/urho3d/add_options.patch new file mode 100644 index 000000000..73a88cb48 --- /dev/null +++ b/ports/urho3d/add_options.patch @@ -0,0 +1,17 @@ +diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt +index 866fc22..ee02d2e 100644 +--- a/Source/CMakeLists.txt ++++ b/Source/CMakeLists.txt +@@ -147,8 +147,12 @@ endif () + + # In order to get clean module segregation, always exclude player/samples from AAR + if (NOT ANDROID) ++ if (URHO3D_BUILD_TOOLS) + add_subdirectory (Tools) ++ endif() ++ if (URHO3D_BUILD_SAMPLES) + add_subdirectory (Samples) ++ endif() + endif () + + if (URHO3D_EXTRAS) diff --git a/ports/urho3d/fix-install.patch b/ports/urho3d/fix-install.patch new file mode 100644 index 000000000..50934bfc4 --- /dev/null +++ b/ports/urho3d/fix-install.patch @@ -0,0 +1,187 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b8f54e9..1c23bbc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -37,7 +37,6 @@ set (PATH_SUFFIX Urho3D) + if (WIN32) + set (SCRIPT_EXT .bat) + if (CMAKE_HOST_WIN32) +- set (PATH_SUFFIX .) + if (URHO3D_64BIT AND CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + string (REPLACE " (x86)" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + endif () +@@ -45,7 +44,7 @@ if (WIN32) + else () + set (SCRIPT_EXT .sh) + endif () +-if (URHO3D_64BIT) ++if (0) + # Install to 'lib64' when one of these conditions is true + if ((MINGW AND CMAKE_CROSSCOMPILING) OR URHO3D_USE_LIB64_RPM OR (HAS_LIB64 AND NOT URHO3D_USE_LIB_DEB)) + set (LIB_SUFFIX 64) +@@ -59,7 +58,7 @@ set (DEST_LIBRARY_DIR lib${LIB_SUFFIX}/${PATH_SUFFIX}) + set (DEST_PKGCONFIG_DIR lib${LIB_SUFFIX}/pkgconfig) + # Install application launcher scripts + file (GLOB APP_SCRIPTS ${CMAKE_SOURCE_DIR}/bin/*${SCRIPT_EXT}) +-install (PROGRAMS ${APP_SCRIPTS} DESTINATION ${DEST_RUNTIME_DIR}) # DEST_RUNTIME_DIR variable is set by the set_output_directories() macro call in the UrhoCommon module ++install (PROGRAMS ${APP_SCRIPTS} DESTINATION ${DEST_SHARE_DIR}/script) # DEST_RUNTIME_DIR variable is set by the set_output_directories() macro call in the UrhoCommon module + # Install CMake modules and toolchains provided by and for Urho3D + install (DIRECTORY ${CMAKE_SOURCE_DIR}/cmake/ DESTINATION ${DEST_SHARE_DIR}/cmake) # Note: the trailing slash is significant + # Install CMake build scripts and rakefile +diff --git a/Docs/CMakeLists.txt b/Docs/CMakeLists.txt +index 9993d07..9a58363 100644 +--- a/Docs/CMakeLists.txt ++++ b/Docs/CMakeLists.txt +@@ -99,7 +99,7 @@ if (DOXYGEN_FOUND) + execute_process (COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaPkgToDox.txt.new) + file (GLOB_RECURSE API_PKG_FILES ${CMAKE_SOURCE_DIR}/Source/Urho3D/LuaScript/pkgs/*.pkg) + add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaScriptAPI.dox +- COMMAND ${CMAKE_BINARY_DIR}/bin/tool/tolua++ -L ToDoxHook.lua -P -o ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaScriptAPI.dox ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaPkgToDox.txt ++ COMMAND ${CMAKE_BINARY_DIR}/tools/urho3d/tolua++ -L ToDoxHook.lua -P -o ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaScriptAPI.dox ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaPkgToDox.txt + DEPENDS tolua++ ${API_PKG_FILES} ${CMAKE_CURRENT_BINARY_DIR}/generated/LuaPkgToDox.txt ${CMAKE_SOURCE_DIR}/Source/Urho3D/LuaScript/pkgs/ToDoxHook.lua + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/Source/Urho3D/LuaScript/pkgs + COMMENT "Dumping LuaScript API to LuaScriptAPI.dox") +diff --git a/Source/ThirdParty/LuaJIT/CMakeLists.txt b/Source/ThirdParty/LuaJIT/CMakeLists.txt +index f1ec925..c310fcc 100644 +--- a/Source/ThirdParty/LuaJIT/CMakeLists.txt ++++ b/Source/ThirdParty/LuaJIT/CMakeLists.txt +@@ -603,7 +603,7 @@ if (NOT CMAKE_PROJECT_NAME MATCHES ^Urho3D-ExternalProject-LuaJIT AND NOT IOS AN + + # Install dependency files required by luajit + if (DEST_RUNTIME_DIR) +- install (DIRECTORY ${LUAJIT_DEP_DIR} DESTINATION ${DEST_RUNTIME_DIR}) ++ install (DIRECTORY ${LUAJIT_DEP_DIR} DESTINATION share/Urho3D) + endif () + endif () + +diff --git a/Source/ThirdParty/toluapp/src/bin/CMakeLists.txt b/Source/ThirdParty/toluapp/src/bin/CMakeLists.txt +index 0cd69fc..e761ef6 100644 +--- a/Source/ThirdParty/toluapp/src/bin/CMakeLists.txt ++++ b/Source/ThirdParty/toluapp/src/bin/CMakeLists.txt +@@ -52,7 +52,7 @@ if (URHO3D_UPDATE_SOURCE_TREE) + endif () + file (GLOB TOLUA lua/*.lua) + add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.c +- COMMAND ${CMAKE_BINARY_DIR}/bin/tool/tolua++ -o ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.c -H ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.h -n tolua tolua_scons.pkg 2>${NULL_DEVICE} || ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/toluabind.c ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.c ++ COMMAND ${CMAKE_BINARY_DIR}/tools/urho3d/tolua++ -o ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.c -H ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.h -n tolua tolua_scons.pkg 2>${NULL_DEVICE} || ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/toluabind.c ${CMAKE_CURRENT_BINARY_DIR}/generated/toluabind.c + ${UPDATE_COMMAND} + DEPENDS ${TOLUA} tolua_scons.pkg + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +diff --git a/Source/Tools/CMakeLists.txt b/Source/Tools/CMakeLists.txt +index 65b59d9..db8f5cd 100644 +--- a/Source/Tools/CMakeLists.txt ++++ b/Source/Tools/CMakeLists.txt +@@ -51,24 +51,24 @@ if (CMAKE_CROSSCOMPILING) + if (URHO3D_PACKAGING) + ExternalProject_Add (PackageTool + SOURCE_DIR ${CMAKE_SOURCE_DIR}/Source/Tools/PackageTool +- CMAKE_ARGS -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/bin/tool -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D BAKED_CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} ++ CMAKE_ARGS -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/tools/urho3d -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D BAKED_CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} + ${ALTERNATE_COMMAND}) + add_make_clean_files (${CMAKE_BINARY_DIR}/bin/tool/PackageTool) + if (CMAKE_HOST_WIN32 AND NOT HAS_MKLINK) + add_dependencies (PackageTool Urho3D) # Ensure Urho3D headers are fresh when building PackageTool externally on Windows host system without MKLINK + endif () +- install (PROGRAMS ${CMAKE_BINARY_DIR}/bin/tool/PackageTool DESTINATION ${DEST_RUNTIME_DIR}/tool) ++ install (PROGRAMS ${CMAKE_BINARY_DIR}/bin/tool/PackageTool DESTINATION ${DEST_RUNTIME_DIR}) + endif () + if (URHO3D_GENERATEBINDINGS) + ExternalProject_Add (BindingGenerator + SOURCE_DIR ${CMAKE_SOURCE_DIR}/Source/Tools/BindingGenerator +- CMAKE_ARGS -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/bin/tool -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D BAKED_CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} ++ CMAKE_ARGS -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/tools/urho3d -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D BAKED_CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} + ${ALTERNATE_COMMAND}) + add_make_clean_files (${CMAKE_BINARY_DIR}/bin/tool/BindingGenerator) + if (CMAKE_HOST_WIN32 AND NOT HAS_MKLINK) + add_dependencies (BindingGenerator Urho3D) + endif () +- install (PROGRAMS ${CMAKE_BINARY_DIR}/bin/tool/BindingGenerator DESTINATION ${DEST_RUNTIME_DIR}/tool) ++ install (PROGRAMS ${CMAKE_BINARY_DIR}/bin/tool/BindingGenerator DESTINATION ${DEST_RUNTIME_DIR}) + endif () + endif () + +diff --git a/Source/Urho3D/CMakeLists.txt b/Source/Urho3D/CMakeLists.txt +index 7433020..8161011 100644 +--- a/Source/Urho3D/CMakeLists.txt ++++ b/Source/Urho3D/CMakeLists.txt +@@ -283,7 +283,7 @@ if (URHO3D_BINDINGS) + endif () + ExternalProject_Add (AutoBinder + SOURCE_DIR ${CMAKE_SOURCE_DIR}/Source/Clang-Tools +- CMAKE_ARGS -D URHO3D_CLANG_TOOLS=AutoBinder -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/bin/tool/clang -D DEST_INCLUDE_DIR=${DEST_INCLUDE_DIR} -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} ++ CMAKE_ARGS -D URHO3D_CLANG_TOOLS=AutoBinder -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/tools/urho3d/clang -D DEST_INCLUDE_DIR=${DEST_INCLUDE_DIR} -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} + ${ALTERNATE_COMMAND}) + add_make_clean_files (${CMAKE_BINARY_DIR}/bin/tool/clang/AutoBinder) + file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated/generated) +@@ -319,10 +319,10 @@ if (URHO3D_LUA) + set(CMAKE_DISABLE_SOURCE_CHANGES OFF) + ExternalProject_Add (tolua++ + SOURCE_DIR ${CMAKE_SOURCE_DIR}/Source/ThirdParty/toluapp/src/bin +- CMAKE_ARGS -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/bin/tool -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D URHO3D_UPDATE_SOURCE_TREE=${URHO3D_UPDATE_SOURCE_TREE} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} ++ CMAKE_ARGS -D URHO3D_DEPLOYMENT_TARGET=generic -D DEST_RUNTIME_DIR=${CMAKE_BINARY_DIR}/tools/urho3d -D BAKED_CMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -D URHO3D_UPDATE_SOURCE_TREE=${URHO3D_UPDATE_SOURCE_TREE} -D CMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} + ${TRAVIS_ANDROID_FIX} + ${ALTERNATE_COMMAND}) +- add_make_clean_files (${CMAKE_BINARY_DIR}/bin/tool/tolua++) ++ add_make_clean_files (${CMAKE_BINARY_DIR}/tools/urho3d/tolua++) + else () + # Otherwise, build it internally as per normal + add_subdirectory (../ThirdParty/toluapp/src/bin ../ThirdParty/toluapp/src/bin) +@@ -343,7 +343,7 @@ if (URHO3D_LUA) + list (APPEND LUA_GEN_CPP_FILES ${GEN_CPP_FILE}) + file (GLOB PKG_FILES LuaScript/pkgs/${DIR}/*.pkg) + add_custom_command (OUTPUT ${GEN_CPP_FILE} +- COMMAND ${CMAKE_BINARY_DIR}/bin/tool/tolua++ -E ${CMAKE_PROJECT_NAME} -L ToCppHook.lua -o ${GEN_CPP_FILE} ${NAME} ++ COMMAND ${CMAKE_BINARY_DIR}/tools/urho3d/tolua++ -E ${CMAKE_PROJECT_NAME} -L ToCppHook.lua -o ${GEN_CPP_FILE} ${NAME} + DEPENDS tolua++ ${API_PKG_FILE} ${PKG_FILES} LuaScript/pkgs/ToCppHook.lua + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/LuaScript/pkgs + COMMENT "Generating tolua++ API binding on the fly for ${DIR}") +diff --git a/cmake/Modules/UrhoCommon.cmake b/cmake/Modules/UrhoCommon.cmake +index cfac648..b196095 100644 +--- a/cmake/Modules/UrhoCommon.cmake ++++ b/cmake/Modules/UrhoCommon.cmake +@@ -1358,7 +1358,7 @@ macro (find_Urho3D_tool VAR NAME) + find_program (${VAR} ${NAME} HINTS ${ARG_HINTS} PATHS ${ARG_PATHS} PATH_SUFFIXES ${ARG_PATH_SUFFIXES} DOC ${ARG_DOC} NO_DEFAULT_PATH) + mark_as_advanced (${VAR}) # Hide it from cmake-gui in non-advanced mode + if (NOT ${VAR}) +- set (${VAR} ${CMAKE_BINARY_DIR}/bin/tool/${NAME}) ++ set (${VAR} ${CMAKE_BINARY_DIR}/tools/urho3d/${NAME}) + if (ARG_MSG_MODE AND NOT CMAKE_PROJECT_NAME STREQUAL Urho3D) + message (${ARG_MSG_MODE} + "Could not find ${VAR} tool in the Urho3D build tree or Urho3D SDK. Your project may not build successfully without this tool. " +@@ -1515,8 +1515,8 @@ macro (setup_executable) + if (ARG_TOOL) + list (APPEND TARGET_PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH YES) + if (NOT ARG_PRIVATE AND NOT DEST_RUNTIME_DIR MATCHES tool) +- set_output_directories (${CMAKE_BINARY_DIR}/bin/tool LOCAL RUNTIME PDB) +- set (RUNTIME_DIR ${CMAKE_BINARY_DIR}/bin/tool) ++ set_output_directories (${CMAKE_BINARY_DIR}/tools/urho3d LOCAL RUNTIME PDB) ++ set (RUNTIME_DIR ${CMAKE_BINARY_DIR}/tools/urho3d) + endif () + endif () + if (NOT ARG_NODEPS) +@@ -1570,7 +1570,6 @@ macro (setup_executable) + endif () + if (DIRECT3D_DLL AND NOT DIRECT3D_DLL_INSTALLED) + # Make a copy of the D3D DLL to the runtime directory in the installed location +- install (FILES ${DIRECT3D_DLL} DESTINATION ${DEST_RUNTIME_DIR}) + set (DIRECT3D_DLL_INSTALLED TRUE) + endif () + endif () +@@ -1692,7 +1691,7 @@ macro (setup_main_executable) + if (URHO3D_PACKAGING) + # Urho3D project builds the PackageTool as required; downstream project uses PackageTool found in the Urho3D build tree or Urho3D SDK + find_Urho3d_tool (PACKAGE_TOOL PackageTool +- HINTS ${CMAKE_BINARY_DIR}/bin/tool ${URHO3D_HOME}/bin/tool ++ HINTS ${CMAKE_BINARY_DIR}/tools/urho3d ${URHO3D_HOME}/bin/tool + DOC "Path to PackageTool" MSG_MODE WARNING) + if (CMAKE_PROJECT_NAME STREQUAL Urho3D) + set (PACKAGING_DEP DEPENDS PackageTool) +@@ -1741,7 +1740,7 @@ macro (setup_main_executable) + foreach (DIR ${RESOURCE_DIRS}) + list (FIND INSTALLED_RESOURCE_DIRS ${DIR} FOUND_INDEX) + if (FOUND_INDEX EQUAL -1) +- install (DIRECTORY ${DIR} DESTINATION ${DEST_SHARE_DIR}/resources) ++ install (DIRECTORY ${DIR} DESTINATION tools/urho3d) + list (APPEND INSTALLED_RESOURCE_DIRS ${DIR}) + endif () + # This cache variable is used to keep track of whether a resource directory has been instructed to be installed by CMake or not diff --git a/ports/urho3d/portfile.cmake b/ports/urho3d/portfile.cmake index 9e2246c7e..dafdbe1af 100644 --- a/ports/urho3d/portfile.cmake +++ b/ports/urho3d/portfile.cmake @@ -9,6 +9,8 @@ vcpkg_from_github( macosx.patch shared_libs.patch externalproject.patch + add_options.patch + fix-install.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") @@ -17,46 +19,100 @@ else() set(URHO3D_LIB_TYPE "SHARED") endif() +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + tools URHO3D_BUILD_TOOLS + examples URHO3D_BUILD_SAMPLES +) + vcpkg_cmake_configure( SOURCE_PATH ${SOURCE_PATH} OPTIONS + ${FEATURE_OPTIONS} -DURHO3D_LIB_TYPE=${URHO3D_LIB_TYPE} -DURHO3D_C++11=ON -DURHO3D_PCH=OFF ) vcpkg_cmake_install() -if(EXISTS ${CURRENT_PACKAGES_DIR}/share/Urho3D/CMake/Modules) +vcpkg_copy_pdbs() + +vcpkg_fixup_pkgconfig() + +if(EXISTS "${CURRENT_PACKAGES_DIR}/share/Urho3D/CMake/Modules") vcpkg_cmake_config_fixup(CONFIG_PATH share/Urho3D/CMake/Modules) endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/share/CMake/Modules) +if(EXISTS "${CURRENT_PACKAGES_DIR}/share/CMake/Modules") vcpkg_cmake_config_fixup(CONFIG_PATH share/CMake/Modules) endif() -vcpkg_copy_pdbs() -file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) - -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) +# Handle tools +if ("tools" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_ANDROID) + vcpkg_copy_tools(TOOL_NAMES AssetImporter OgreImporter PackageTool RampGenerator ScriptCompiler SpritePacker + SEARCH_DIR "${CURRENT_PACKAGES_DIR}/tools/urho3d" + AUTO_CLEAN + ) + + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/tool" "${CURRENT_PACKAGES_DIR}/debug/bin/tool") + + vcpkg_copy_tools(TOOL_NAMES Urho3DPlayer AUTO_CLEAN) + + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/Urho3DPlayer_d${VCPKG_TARGET_EXECUTABLE_SUFFIX}") +endif() -file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools) -file(RENAME ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/tools/${PORT}) +# Handle examples +if ("examples" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_ANDROID) + file(GLOB URHO3D_BINARIES "${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + foreach(URHO3D_BINARY ${URHO3D_BINARIES}) + get_filename_component(BINARY_NAME ${URHO3D_BINARY} NAME_WE) + if (BINARY_NAME MATCHES "[0-9][0-9]\_.+") + list(APPEND URHO3D_TOOLS ${BINARY_NAME}) + endif() + endforeach() + vcpkg_copy_tools(TOOL_NAMES ${URHO3D_TOOLS} AUTO_CLEAN) + + if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") + foreach(URHO3D_TOOL IN_LIST ${URHO3D_TOOLS}) + file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${URHO3D_TOOL}_d${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + endforeach() + endif() +endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/share/Urho3D/Resources) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/Urho3D/Resources/Autoload ${CURRENT_PACKAGES_DIR}/tools/${PORT}/Autoload) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/Urho3D/Resources/CoreData ${CURRENT_PACKAGES_DIR}/tools/${PORT}/CoreData) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/Urho3D/Resources/Data ${CURRENT_PACKAGES_DIR}/tools/${PORT}/Data) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/Urho3D/Resources) +if (EXISTS "${CURRENT_PACKAGES_DIR}/bin/luajit${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + list(APPEND LUA_EXES "luajit") +endif() +if (EXISTS "${CURRENT_PACKAGES_DIR}/bin/lua${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + list(APPEND LUA_EXES "lua") endif() -if(EXISTS ${CURRENT_PACKAGES_DIR}/share/Resources) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/Resources/Autoload ${CURRENT_PACKAGES_DIR}/tools/${PORT}/Autoload) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/Resources/CoreData ${CURRENT_PACKAGES_DIR}/tools/${PORT}/CoreData) - file(RENAME ${CURRENT_PACKAGES_DIR}/share/Resources/Data ${CURRENT_PACKAGES_DIR}/tools/${PORT}/Data) - file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share/Resources) +if (EXISTS "${CURRENT_PACKAGES_DIR}/bin/luac${VCPKG_TARGET_EXECUTABLE_SUFFIX}") + list(APPEND LUA_EXES "luac") +endif() +vcpkg_copy_tools(TOOL_NAMES ${LUA_EXES} AUTO_CLEAN) + +# Cleanup +if (VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/Urho3D/LuaScript/pkgs) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/Urho3D/ThirdParty/LuaJIT/jit) +# Fix includes +list(APPEND SDL_RELATED_HEADERS + "${CURRENT_PACKAGES_DIR}/include/Urho3D/Input/InputConstants.h" + "${CURRENT_PACKAGES_DIR}/include/Urho3D/IO/NamedPipe.h" + "${CURRENT_PACKAGES_DIR}/include/Urho3D/IO/RWOpsWrapper.h" +) +foreach (SDL_RELATED_HEADER ${SDL_RELATED_HEADERS}) + vcpkg_replace_string("${SDL_RELATED_HEADER}" + "#include <SDL/" + "#include <Urho3D/ThirdParty/SDL/" + ) +endforeach() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/Urho3D/LuaScript/pkgs") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/Urho3D/ThirdParty/LuaJIT/jit") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/urho3d/vcpkg.json b/ports/urho3d/vcpkg.json index f1d12a597..e604d5791 100644 --- a/ports/urho3d/vcpkg.json +++ b/ports/urho3d/vcpkg.json @@ -1,6 +1,8 @@ { + "$note": "Due to the upstream modification of the dependent source code, the internal port of vcpkg cannot be used.", "name": "urho3d", "version-date": "2021-03-01", + "port-version": 1, "description": "Urho3D is a free lightweight, cross-platform 2D and 3D game engine implemented in C++ and released under the MIT license. Greatly inspired by OGRE and Horde3D.", "homepage": "https://github.com/urho3d/Urho3D", "supports": "!(arm | uwp)", @@ -13,5 +15,13 @@ "name": "vcpkg-cmake-config", "host": true } - ] + ], + "features": { + "examples": { + "description": "Build examples." + }, + "tools": { + "description": "Build tools." + } + } } diff --git a/versions/baseline.json b/versions/baseline.json index 4c597ad5d..a20e9f409 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -6462,7 +6462,7 @@ }, "urho3d": { "baseline": "2021-03-01", - "port-version": 0 + "port-version": 1 }, "uriparser": { "baseline": "0.9.4", diff --git a/versions/u-/urho3d.json b/versions/u-/urho3d.json index 3c81006ed..8a1c844d6 100644 --- a/versions/u-/urho3d.json +++ b/versions/u-/urho3d.json @@ -1,6 +1,11 @@ { "versions": [ { + "git-tree": "a31df110bd09d7f49eec0cc5e7f19799ab83564a", + "version-date": "2021-03-01", + "port-version": 1 + }, + { "git-tree": "1f456f57b63fe4e73605d2b2b5827aa4db385438", "version-date": "2021-03-01", "port-version": 0 |
