diff options
| author | Griffin Downs <35574547+grdowns@users.noreply.github.com> | 2019-06-04 18:46:50 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-06-04 18:46:50 -0700 |
| commit | 3385b2caf781c7817e325b6301718d42b306e5e4 (patch) | |
| tree | a603ac466f4e193d300f1d01bb86cf1c126727ca | |
| parent | a2dbe32b726f60db0fee5decc85fbd1744cc4a7e (diff) | |
| parent | d21b44f019d483f579ce7ba33c31420727fd474c (diff) | |
| download | vcpkg-3385b2caf781c7817e325b6301718d42b306e5e4.tar.gz vcpkg-3385b2caf781c7817e325b6301718d42b306e5e4.zip | |
Merge pull request #6716 from ThadHouse/wpilibport2
[wpilib] Add New Port
| -rw-r--r-- | ports/wpilib/CONTROL | 12 | ||||
| -rw-r--r-- | ports/wpilib/portfile.cmake | 67 | ||||
| -rw-r--r-- | scripts/buildsystems/vcpkg.cmake | 2 |
3 files changed, 80 insertions, 1 deletions
diff --git a/ports/wpilib/CONTROL b/ports/wpilib/CONTROL new file mode 100644 index 000000000..0d93d9bb5 --- /dev/null +++ b/ports/wpilib/CONTROL @@ -0,0 +1,12 @@ +Source: wpilib
+Version: 2019.4.1
+Build-Depends: libuv
+Description: WPILib is the software library package for the FIRST Robotics Competition. The core install includes wpiutil, a common utilies library, and ntcore, the base NetworkTables library.
+
+Feature: cameraserver
+Build-Depends: opencv
+Description: Enables the CameraServer and CSCore libraries for manipulating USB Cameras and HTTP Camera Streams
+
+Feature: allwpilib
+Build-Depends: wpilib[cameraserver] opencv
+Description: Enables the simulation HAL, and the high level wpilibc library.
diff --git a/ports/wpilib/portfile.cmake b/ports/wpilib/portfile.cmake new file mode 100644 index 000000000..4bb8b80a5 --- /dev/null +++ b/ports/wpilib/portfile.cmake @@ -0,0 +1,67 @@ +include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO wpilibsuite/allwpilib
+ REF 221011494d202770ad275c88cd7380119505e65d
+ SHA512 97ec277b2e7d0a287e1d4eef4f60b5f5b5a70a861f984d0bfb17610ca8f43c723e1ba3cc1b428d243db62b50307edcf509e496f15cccdda78f962bf91aa4568a
+)
+
+set(WITHOUT_JAVA ON)
+set(WITHOUT_CSCORE ON)
+set(WITHOUT_ALLWPILIB ON)
+
+if ("cameraserver" IN_LIST FEATURES)
+ set(WITHOUT_CSCORE OFF)
+endif()
+
+if ("allwpilib" IN_LIST FEATURES)
+ set(WITHOUT_ALLWPILIB OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+
+ OPTIONS
+ -DWITHOUT_JAVA=${WITHOUT_JAVA}
+ -DWITHOUT_CSCORE=${WITHOUT_CSCORE}
+ -DWITHOUT_ALLWPILIB=${WITHOUT_ALLWPILIB}
+ -DUSE_VCPKG_LIBUV=ON
+ -DFLAT_INSTALL_WPILIB=ON
+)
+vcpkg_install_cmake()
+
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/ntcore/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/wpiutil/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+if (NOT WITHOUT_ALLWPILIB)
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/wpilibc/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/hal/gen/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/hal/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/gen)
+endif()
+if (NOT WITHOUT_CSCORE)
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/cameraserver/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/include/cscore/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
+endif()
+
+if(NOT VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.dll")
+ file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.dll")
+
+ file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.so")
+ file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.so")
+
+ file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/bin FILES_MATCHING PATTERN "*.dylib")
+ file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin FILES_MATCHING PATTERN "*.dylib")
+endif()
+
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib FILES_MATCHING PATTERN "*.lib")
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib FILES_MATCHING PATTERN "*.lib")
+
+file(COPY ${CURRENT_PACKAGES_DIR}/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/lib FILES_MATCHING PATTERN "*.a")
+file(COPY ${CURRENT_PACKAGES_DIR}/debug/wpilib/lib/ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib FILES_MATCHING PATTERN "*.a")
+
+vcpkg_copy_pdbs()
+
+file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/wpilib RENAME copyright)
diff --git a/scripts/buildsystems/vcpkg.cmake b/scripts/buildsystems/vcpkg.cmake index 97fe1b81f..f657e2710 100644 --- a/scripts/buildsystems/vcpkg.cmake +++ b/scripts/buildsystems/vcpkg.cmake @@ -171,7 +171,7 @@ function(add_executable name) list(FIND ARGV "ALIAS" ALIAS_IDX) list(FIND ARGV "MACOSX_BUNDLE" MACOSX_BUNDLE_IDX) if(IMPORTED_IDX EQUAL -1 AND ALIAS_IDX EQUAL -1) - if(VCPKG_APPLOCAL_DEPS) + if(VCPKG_APPLOCAL_DEPS) if(_VCPKG_TARGET_TRIPLET_PLAT MATCHES "windows|uwp") add_custom_command(TARGET ${name} POST_BUILD COMMAND powershell -noprofile -executionpolicy Bypass -file ${_VCPKG_TOOLCHAIN_DIR}/msbuild/applocal.ps1 |
