From 99bb23e194215cefdfeb0fa90bb2ad89dd257ba2 Mon Sep 17 00:00:00 2001 From: Xavier Del Campo Romero Date: Wed, 8 Jun 2022 00:11:14 +0200 Subject: win9x.cmake: use target commands for SDL and SDL_mixer Since libSDL.a and libSDL_mixer.a are compiled separately from this project, some hacks had been used to get the build running. However, this approach did not make proper use of target-level properties, which are encouraged according to modern CMake standards over global-level commands such as include_directories() or link_libraries(). OTOH, Win32 dependencies were being imported using link_libraries(), but they in fact are SDL dependencies, so target_link_libraries() can be used instead. --- cmake/win9x.cmake | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/cmake/win9x.cmake b/cmake/win9x.cmake index 3423248..2d95dd0 100644 --- a/cmake/win9x.cmake +++ b/cmake/win9x.cmake @@ -16,15 +16,19 @@ add_custom_command(OUTPUT ${cdroot}/${PROJECT_NAME} VERBATIM) add_custom_target(stripped-exe ALL DEPENDS ${cdroot}/${PROJECT_NAME}) -target_link_directories(${PROJECT_NAME} PRIVATE $ENV{SDL_PATH}/lib - $ENV{SDL_TTF_PATH}/lib $ENV{FREETYPE_PATH}/lib - $ENV{SDL_MIXER_PATH}/lib) -include_directories($ENV{SDL_PATH}/include - $ENV{SDL_PATH}/include/SDL $ENV{SDL_TTF_PATH}/include - $ENV{FREETYPE_PATH}/include - $ENV{SDL_MIXER_PATH}/include) +add_library(SDL STATIC IMPORTED) +set_property(TARGET SDL PROPERTY IMPORTED_LOCATION $ENV{SDL_PATH}/lib/libSDL.a) +target_include_directories(SDL INTERFACE + $ENV{SDL_PATH}/include $ENV{SDL_PATH}/include/SDL) +target_link_libraries(SDL INTERFACE gdi32 user32 winmm dxguid freetype) + +add_library(SDL_mixer STATIC IMPORTED) +set_property(TARGET SDL_mixer PROPERTY IMPORTED_LOCATION + $ENV{SDL_MIXER_PATH}/lib/libSDL_mixer.a) +target_include_directories(SDL_mixer INTERFACE $ENV{SDL_MIXER_PATH}/include) +target_link_libraries(SDL_mixer INTERFACE SDL) + add_compile_options(-march=i386) -link_libraries(gdi32 user32 winmm dxguid freetype) set(SDL1_2_BUILD 1) if(CMAKE_BUILD_TYPE STREQUAL "Debug") -- cgit v1.2.3