diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1b1f2b72..9946651d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,6 +1,5 @@ include_directories(lib/cmake) - # gui libraries --------------------------------------------------------------------------------------------------- set(IMGUI_PATH "lib/imgui") file(GLOB IMGUI_SOURCES ${IMGUI_PATH}/*.cpp) @@ -67,16 +66,8 @@ target_include_directories( ${GLEW_INCLUDE_DIRS} ) -if (WIN32) -target_link_libraries( - yaze - SDL2::SDL2main -) -add_definitions(-DSDL_MAIN_HANDLED) -endif() - -target_link_libraries( - yaze +set( + ABSL_TARGETS absl::strings absl::flags absl::status @@ -89,7 +80,19 @@ target_link_libraries( absl::raw_logging_internal absl::failure_signal_handler absl::flat_hash_map - SDL2::SDL2 +) + +set(SDL_TARGETS SDL2::SDL2) + +if(WIN32 OR MINGW) + list(PREPEND SDL_TARGETS SDL2::SDL2main) + add_definitions(-DSDL_MAIN_HANDLED) +endif() + +target_link_libraries( + yaze + ${ABSL_TARGETS} + ${SDL_TARGETS} ${PNG_LIBRARIES} ${GLEW_LIBRARIES} ${OPENGL_LIBRARIES} diff --git a/src/yaze.h b/src/yaze.h index cb0c5166..2969582e 100644 --- a/src/yaze.h +++ b/src/yaze.h @@ -1,6 +1,10 @@ #ifndef YAZE_H #define YAZE_H +#if defined(_WIN32) +#define main SDL_main +#endif + #include "absl/debugging/failure_signal_handler.h" #include "absl/debugging/symbolize.h" #include "app/core/controller.h"