NO_STEAMWORKS has no peceived effect when compiling and there will be a fatal error during linking. The Steamworks-sdk dependency has only been "documented" in a single, closed issue.
Is there really no way to work around this? What if people want to package this for distributions? I can see there being license troubles.
Full trace for anyone interested:
```
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `std::_Function_handler::_M_invoke(std::_Any_data const&)':
ld-temp.o:(.text._ZNSt17_Function_handlerIFbvEZN10WindowView10rebuildGuiEvE4$_17E9_M_invokeERKSt9_Any_data+0x39): undefined reference to `MySteamInput::getJoyPos(ControllerJoy)'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `std::_Function_handler (), WindowView::chooseDirection(Vec2, std::__cxx11::basic_string, std::allocator > const&)::$_0>::_M_invoke(std::_Any_data const&)':
/usr/src/debug/keeperrl-git/keeperrl-git/window_view.cpp:619:(.text._ZNSt17_Function_handlerIFNSt12experimental8optionalI4Vec2EEvEZN10WindowView15chooseDirectionES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0E9_M_invokeERKSt9_Any_data+0x5c): undefined reference to `MySteamInput::setGameActionLayer(MySteamInput::GameActionLayer)'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `Renderer::getDiscreteJoyPos(ControllerJoy)':
/usr/src/debug/keeperrl-git/keeperrl-git/renderer.cpp:768:(.text._ZNSt17_Function_handlerIFNSt12experimental8optionalI4Vec2EEvEZN10WindowView15chooseDirectionES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0E9_M_invokeERKSt9_Any_data+0xa4): undefined reference to `MySteamInput::getJoyPos(ControllerJoy)'
/usr/bin/ld: /usr/src/debug/keeperrl-git/keeperrl-git/renderer.cpp:768:(.text._ZNSt17_Function_handlerIFNSt12experimental8optionalI4Vec2EEvEZN10WindowView15chooseDirectionES2_RKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3$_0E9_M_invokeERKSt9_Any_data+0x16a): undefined reference to `MySteamInput::getJoyPos(ControllerJoy)'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `Renderer::drawAndClearBuffer()':
/usr/src/debug/keeperrl-git/keeperrl-git/renderer.cpp:676:(.text._ZN8Renderer18drawAndClearBufferEv+0x1c): undefined reference to `MySteamInput::runFrame()'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `Renderer::pollEvent(SDL::SDL_Event&)':
/usr/src/debug/keeperrl-git/keeperrl-git/renderer.cpp:745:(.text._ZN8Renderer9pollEventERN3SDL9SDL_EventE+0x54): undefined reference to `MySteamInput::getEvent()'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `ScriptedUIElems::RenderKeybinding::getKeybindingGlyph[abi:cxx11](GuiFactory*, Keybinding) const':
/usr/src/debug/keeperrl-git/keeperrl-git/scripted_ui.cpp:211:(.text._ZNK15ScriptedUIElems16RenderKeybinding18getKeybindingGlyphB5cxx11EP10GuiFactory10Keybinding[_ZNK15ScriptedUIElems16RenderKeybinding18getKeybindingGlyphB5cxx11EP10GuiFactory10Keybinding]+0x85): undefined reference to `MySteamInput::getGlyph(ControllerKey)'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `std::_Function_handler::_M_invoke(std::_Any_data const&)':
/usr/src/debug/keeperrl-git/keeperrl-git/options.cpp:535:(.text._ZNSt17_Function_handlerIFbvEZN7Options6handleEP4ViewPK14ContentFactory9OptionSetiE3$_2E9_M_invokeERKSt9_Any_data+0x26): undefined reference to `MySteamInput::showBindingScreen()'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `keeperMain(po::parser&)':
ld-temp.o:(.text._ZL10keeperMainRN2po6parserE+0x5923): undefined reference to `MySteamInput::isRunningOnDeck()'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `Renderer::getDiscreteJoyPos(ControllerJoy)':
/usr/src/debug/keeperrl-git/keeperrl-git/renderer.cpp:768:(.text._ZN6MapGui16renderMapObjectsER8Renderer4Vec2NSt6chrono8durationIlSt5ratioILl1ELl1000EEEE+0x5a5c): undefined reference to `MySteamInput::getJoyPos(ControllerJoy)'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `MapGui::updateObjects(CreatureView*, Renderer&, MapLayout*, bool, bool, std::experimental::optional const&)':
/usr/src/debug/keeperrl-git/keeperrl-git/map_gui.cpp:1512:(.text._ZN6MapGui13updateObjectsEP12CreatureViewR8RendererP9MapLayoutbbRKNSt12experimental8optionalI12TutorialInfoEE+0x126): undefined reference to `MySteamInput::setGameActionLayer(MySteamInput::GameActionLayer)'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `Game::achieve(AchievementId) const':
/usr/src/debug/keeperrl-git/keeperrl-git/game.cpp:835:(.text._ZNK4Game7achieveE13AchievementId+0x35): undefined reference to `SteamAchievements::achieve(AchievementId)'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `Renderer::getDiscreteJoyPos(ControllerJoy)':
/usr/src/debug/keeperrl-git/keeperrl-git/renderer.cpp:768:(.text._ZNSt17_Function_handlerIFbvEZN10GuiBuilder17drawPlayerOverlayERK10PlayerInfobE3$_4E9_M_invokeERKSt9_Any_data+0x4c): undefined reference to `MySteamInput::getJoyPos(ControllerJoy)'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `(anonymous namespace)::TextFieldElem::TextFieldElem(std::function, std::allocator > ()>, std::function, std::allocator >)>, std::function, int, bool, MySteamInput*, KeybindingMap*)':
/usr/src/debug/keeperrl-git/keeperrl-git/gui_elem.cpp:227:(.text._ZN12_GLOBAL__N_113TextFieldElemC2ESt8functionIFNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEvEES1_IFvS7_EES1_IFbvEEibP12MySteamInputP13KeybindingMap+0x147): undefinedreference to `MySteamInput::showFloatingKeyboard(Rectangle)'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `(anonymous namespace)::TextFieldElem::onKeyPressed2(SDL::SDL_Keysym)':
/usr/src/debug/keeperrl-git/keeperrl-git/gui_elem.cpp:296:(.text._ZN12_GLOBAL__N_113TextFieldElem13onKeyPressed2EN3SDL10SDL_KeysymE+0xf5): undefined reference to `MySteamInput::showFloatingKeyboard(Rectangle)'
/usr/bin/ld: /usr/src/debug/keeperrl-git/keeperrl-git/gui_elem.cpp:287:(.text._ZN12_GLOBAL__N_113TextFieldElem13onKeyPressed2EN3SDL10SDL_KeysymE+0x1ee): undefined reference to `MySteamInput::dismissFloatingKeyboard()'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `(anonymous namespace)::TextFieldElem::~TextFieldElem()':
/usr/src/debug/keeperrl-git/keeperrl-git/gui_elem.cpp:232:(.text._ZN12_GLOBAL__N_113TextFieldElemD2Ev+0x2e): undefined reference to `MySteamInput::dismissFloatingKeyboard()'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `std::_Function_handler::_M_invoke(std::_Any_data const&, Renderer&, Rectangle&&)':
/usr/src/debug/keeperrl-git/keeperrl-git/gui_elem.cpp:3298:(.text._ZNSt17_Function_handlerIFvR8Renderer9RectangleEZN10GuiFactory15steamInputGlyphE13ControllerKeyiE3$_0E9_M_invokeERKSt9_Any_dataS1_OS2_+0x47): undefined reference to `MySteamInput::getGlyph(ControllerKey)'
/usr/bin/ld: /tmp/lto-llvm-6fed57.o: in function `GuiFactory::propagateScrollEvent(vector > const&)':
/usr/src/debug/keeperrl-git/keeperrl-git/gui_elem.cpp:3331:(.text._ZN10GuiFactory20propagateScrollEventERK6vectorISt10shared_ptrI7GuiElemEE+0x43): undefined reference to `MySteamInput::getJoyPos(ControllerJoy)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [Makefile:146: keeper] Error 1
make: *** [Makefile:130: all] Error 2
```
Related: #2012 but there has been no answer, so it was likely forgotten.
NO_STEAMWORKS
has no peceived effect when compiling and there will be a fatal error during linking. The Steamworks-sdk dependency has only been "documented" in a single, closed issue. Is there really no way to work around this? What if people want to package this for distributions? I can see there being license troubles.Full trace for anyone interested:
Related: #2012 but there has been no answer, so it was likely forgotten.