phoboslab / wipeout-rewrite

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cmake on linux produces an executable named wipeout

mickski56 opened this issue · comments

which conflicts with the assets directory name, also wipeout.
It would be enough to compile an executable named Wipeout if this is the way you want to go.

Plus the makefile still produces an executable named wipegame

Or maybe changing the assets directory name to "data" or anything similar

I changed the logic so that you must do out-of-tree builds for CMake. If you just want to test the game, use the DEV_BUILD option.

Thanks, closing.

Just tried this. I get : error: macro names must be identifiers

/usr/bin/cc -D-DPATH_ASSETS=/media/sdf/1/sdc/src/games/wipeout-rewrite/ -D-DPATH_USERDATA=/media/sdf/1/sdc/src/games/wipeout-rewrite/ -DRENDERER_GL -I/media/sdf/1/sdc/src/games/wipeout-rewrite/src -isystem /media/sdf/1/sdc/src/games/wipeout-rewrite/src/libs -isystem /usr/include/SDL2 -fstack-protector -O2 -fPIC -march=znver2 -O3 -DNDEBUG -Wall -Wextra -std=gnu11 -MD -MT CMakeFiles/wipeout.dir/src/wipeout/object.c.o -MF CMakeFiles/wipeout.dir/src/wipeout/object.c.o.d -o CMakeFiles/wipeout.dir/src/wipeout/object.c.o -c /media/sdf/1/sdc/src/games/wipeout-rewrite/src/wipeout/object.c
and
CMakeFiles/wipeout.dir/flags.make
contains the line
C_DEFINES = -D-DPATH_ASSETS=/media/sdf/1/sdc/src/games/wipeout-rewrite/ -D-DPATH_USERDATA=/media/sdf/1/sdc/src/games/wipeout-rewrite/ -DRENDERER_GL

looks like an extra -D is getting included somehow.
Also using ccmake and setting PATH_ASSETS and or PATH_USERDATA on a non dev build produces the same error.
This is all on a linux system.

Changing

target_compile_definitions(wipeout PRIVATE
$<$BOOL:${PATH_ASSETS}:-DPATH_ASSETS=${PATH_ASSETS}>
$<$BOOL:${PATH_USERDATA}:-DPATH_USERDATA=${PATH_USERDATA}>

to

target_compile_definitions(wipeout PRIVATE
$<$BOOL:${PATH_ASSETS}:PATH_ASSETS=${PATH_ASSETS}>
$<$BOOL:${PATH_USERDATA}:PATH_USERDATA=${PATH_USERDATA}>

in CMakeLists.txt works here.

That's weird, it works fine for me on macOS/Linux. The CMake docs say that they strip the -D from compile definitions.

Hmm, what version of cmake do you have ?

Works fine with cmake-3.27.4
but not with
cmake-3.24.3
not a wipeout-rewrite issue as such should probably close.