Files
allwpilib/glass/CMakeLists.txt
Thad House 4f40d991ea [glass] Switch name of Glass back to glass (#2919)
On Unix systems, most executables are lowercase.
2020-12-07 22:32:15 -08:00

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})