fix .so placement and loading paths

This commit is contained in:
veclav talica 2024-08-21 17:29:06 +03:00
parent e49d36a3b1
commit 1a34f6416b
4 changed files with 12 additions and 9 deletions

View File

@ -122,7 +122,8 @@ function(give_options target)
-ffp-contract=fast -ffp-contract=fast
-fno-signed-zeros -fno-signed-zeros
-fno-trapping-math -fno-trapping-math
-freciprocal-math) -freciprocal-math
-Wl,$<$<BOOL:${TOWNENGINE_HOT_RELOAD}>:-rpath ./>)
set(BUILD_FLAGS_RELEASE set(BUILD_FLAGS_RELEASE
-O3 -O3
@ -204,7 +205,12 @@ function(use_townengine target sources output_directory)
give_options(${target}_shared) give_options(${target}_shared)
include_deps(${target}_shared) include_deps(${target}_shared)
target_link_libraries(${target}_shared PUBLIC SDL2::SDL2) target_link_libraries(${target}_shared PUBLIC SDL2::SDL2)
add_executable(${target} ${CMAKE_SOURCE_DIR}/townengine/null.c) add_executable(${target} ${TOWNENGINE_DIR}/townengine/null.c)
set_target_properties(${target}_shared PROPERTIES
OUTPUT_NAME game
LIBRARY_OUTPUT_DIRECTORY ${output_directory})
set_target_properties(${TOWNENGINE_TARGET} PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${output_directory})
else () else ()
add_executable(${target} ${sources}) add_executable(${target} ${sources})
endif () endif ()

View File

@ -13,10 +13,7 @@ endif()
set(SOURCE_FILES set(SOURCE_FILES
game.c game.c
state.h
) )
use_townengine(${PROJECT_NAME} "${SOURCE_FILES}") use_townengine(${PROJECT_NAME} "${SOURCE_FILES}" ${CMAKE_CURRENT_SOURCE_DIR})
set_target_properties(${PROJECT_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)

View File

@ -4,7 +4,7 @@
#include <malloc.h> #include <malloc.h>
void game_tick(t_ctx *ctx) { void game_tick(void) {
/* do state initialization when engine asks for it */ /* do state initialization when engine asks for it */
/* it could happen multiple times per application run, as game code is reloadable */ /* it could happen multiple times per application run, as game code is reloadable */
if (ctx.initialization_needed) { if (ctx.initialization_needed) {

View File

@ -25,7 +25,7 @@
#include <dlfcn.h> #include <dlfcn.h>
#ifdef __linux__ #ifdef __linux__
#define GAME_OBJECT_PATH "../apps/testgame/libgame.so" #define GAME_OBJECT_PATH "./libgame.so"
#else #else
#define GAME_OBJECT_PATH "game.dll" #define GAME_OBJECT_PATH "game.dll"
#endif #endif