CMake und VisualStudio fügen was ein, was da nicht hin soll
Verfasst: 27.08.2022, 12:06
Moin,
ich will seit Ewigkeiten von meinen handgepflegten 20 jahre alten VisualStudio-Solutions weg. Nehm ich halt klassisch CMake. Dabei will ich auch gleich alles von Boost rauswerfen, hatte ich auch schon ewig vor. Und das Einzige, was ich von Boost wirklich brauche, ist Context, deren CMakeList.txt ich jetzt radikal zusammengestrichen habe. Ist immer noch zwei Seiten lang, kann ich gern posten bei Bedarf.
Darin gibt's jedenfalls einen einfachen Aufruf
Und der ergibt nach Ninja generiert dann drei funktionierende MASM-Aufrufe und das Linken:
Man bemerke das kleine "cr" direkt am Anfang der CommandLineArgs. Wo kommt das her? Der Linker hält es jedenfalls für eine weitere Eingabedatei und findet die nicht, deswegen scheitert das Linken und ich komm nicht weiter. Ich finde kein "cr" im ganzen Projekt.
ich will seit Ewigkeiten von meinen handgepflegten 20 jahre alten VisualStudio-Solutions weg. Nehm ich halt klassisch CMake. Dabei will ich auch gleich alles von Boost rauswerfen, hatte ich auch schon ewig vor. Und das Einzige, was ich von Boost wirklich brauche, ist Context, deren CMakeList.txt ich jetzt radikal zusammengestrichen habe. Ist immer noch zwei Seiten lang, kann ich gern posten bei Bedarf.
Darin gibt's jedenfalls einen einfachen Aufruf
Code: Alles auswählen
// ergibt "1> [CMake] Sources sind asm/make_x86_64_ms_pe_masm.asm;asm/jump_x86_64_ms_pe_masm.asm;asm/ontop_x86_64_ms_pe_masm.asm"
message("Sources sind ${IMPL_SOURCES}")
add_library(boost_context ${IMPL_SOURCES})
Code: Alles auswählen
FAILED: SourceExt/context/boost_context.lib
cmd.exe /C "cd . && C:\PROGRA~1\VISUAL~2\VC\Tools\MSVC\1433~1.316\bin\Hostx64\x64\lib.exe cr SourceExt\context\boost_context.lib /machine:x64 SourceExt\context\CMakeFiles\boost_context.dir\asm\make_x86_64_ms_pe_masm.asm.obj SourceExt\context\CMakeFiles\boost_context.dir\asm\jump_x86_64_ms_pe_masm.asm.obj SourceExt\context\CMakeFiles\boost_context.dir\asm\ontop_x86_64_ms_pe_masm.asm.obj && cd ."