// There are two hal libraries that are built // - Desktop which is used by simulation (gcc/msvc) // - Athena which is used by the roborio (arm) apply plugin: 'cpp' model { components { HALAthena(NativeLibrarySpec) { targetPlatform 'arm' tasks.withType(CppCompile) { dependsOn addNiLibraryLinks } sources { cpp { source { srcDirs = ["lib/Athena", "lib/Athena/FRC_FPGA_ChipObject", "lib/Shared"] includes = ["**/*.cpp"] } exportedHeaders { srcDirs = ["include", "lib/Athena", "lib/Athena/FRC_FPGA_ChipObject", "lib/Shared"] } } } } HALDesktop(NativeLibrarySpec) { binaries.all { if (toolChain in Gcc){ cppCompiler.args "-std=c++1y" } } sources { cpp { source { srcDirs = ["lib/Desktop", "lib/Shared"] includes = ["**/*.cpp"] } exportedHeaders { srcDirs = ["include", "lib/Desktop", "lib/Shared"] } } } } } }