mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-07-06 03:31:43 +00:00
This reuses many pieces of the current simulation GUI. The common pieces have been refactored into the libglass library. The libglass library is designed to be usable for other standalone data visualization applications (e.g. viewing data logs). The name "glass" comes from "glass cockpit", as the application features several multi-function displays that can be adjusted to display robot information as needed.
70 lines
2.2 KiB
CMake
70 lines
2.2 KiB
CMake
project(glass)
|
|
|
|
include(CompileWarnings)
|
|
include(LinkMacOSGUI)
|
|
|
|
#
|
|
# libglass
|
|
#
|
|
file(GLOB_RECURSE libglass_src src/lib/native/cpp/*.cpp)
|
|
|
|
add_library(libglass STATIC ${libglass_src})
|
|
set_target_properties(libglass PROPERTIES DEBUG_POSTFIX "d" OUTPUT_NAME "glass")
|
|
set_property(TARGET libglass PROPERTY POSITION_INDEPENDENT_CODE ON)
|
|
|
|
set_property(TARGET libglass PROPERTY FOLDER "libraries")
|
|
|
|
wpilib_target_warnings(libglass)
|
|
target_link_libraries(libglass PUBLIC wpigui wpimath wpiutil)
|
|
|
|
target_include_directories(libglass PUBLIC
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/lib/native/include>
|
|
$<INSTALL_INTERFACE:${include_dest}/glass>)
|
|
|
|
install(TARGETS libglass EXPORT libglass DESTINATION "${main_lib_dest}")
|
|
install(DIRECTORY src/lib/native/include/ DESTINATION "${include_dest}/glass")
|
|
|
|
#
|
|
# libglassnt
|
|
#
|
|
file(GLOB_RECURSE libglassnt_src src/libnt/native/cpp/*.cpp)
|
|
|
|
add_library(libglassnt STATIC ${libglassnt_src})
|
|
set_target_properties(libglassnt PROPERTIES DEBUG_POSTFIX "d" OUTPUT_NAME "glassnt")
|
|
set_property(TARGET libglassnt PROPERTY POSITION_INDEPENDENT_CODE ON)
|
|
|
|
set_property(TARGET libglassnt PROPERTY FOLDER "libraries")
|
|
|
|
wpilib_target_warnings(libglassnt)
|
|
target_link_libraries(libglassnt PUBLIC ntcore libglass)
|
|
|
|
target_include_directories(libglassnt PUBLIC
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/libnt/native/include>
|
|
$<INSTALL_INTERFACE:${include_dest}/glass>)
|
|
|
|
install(TARGETS libglassnt EXPORT libglassnt DESTINATION "${main_lib_dest}")
|
|
install(DIRECTORY src/libnt/native/include/ DESTINATION "${include_dest}/glass")
|
|
|
|
#
|
|
# glass application
|
|
#
|
|
|
|
file(GLOB glass_src src/app/native/cpp/*.cpp)
|
|
|
|
add_executable(glass ${glass_src})
|
|
wpilib_link_macos_gui(glass)
|
|
target_link_libraries(glass libglassnt libglass)
|
|
if (WIN32)
|
|
set_target_properties(glass PROPERTIES WIN32_EXECUTABLE YES)
|
|
endif()
|
|
|
|
#if (MSVC OR FLAT_INSTALL_WPILIB)
|
|
# set (wpigui_config_dir ${wpilib_dest})
|
|
#else()
|
|
# set (wpigui_config_dir share/wpigui)
|
|
#endif()
|
|
|
|
#configure_file(wpigui-config.cmake.in ${CMAKE_BINARY_DIR}/wpigui-config.cmake )
|
|
#install(FILES ${CMAKE_BINARY_DIR}/wpigui-config.cmake DESTINATION ${wpigui_config_dir})
|
|
#install(EXPORT wpigui DESTINATION ${wpigui_config_dir})
|