From ba6d14a7737ef7cd02b61586e39ca2162df3018d Mon Sep 17 00:00:00 2001 From: Kasullian Date: Mon, 8 Sep 2025 23:20:06 -0400 Subject: glew, map parsing for windows --- CMakeLists.txt | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 3931ec5..e99269a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,26 +7,46 @@ set(CMAKE_CXX_STANDARD 17) file(GLOB_RECURSE SRC_FILES ./src/*.cpp ./src/game/*.cpp ./src/util/config/*.cpp) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build) +if(UNIX) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build) +else() + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) +endif() add_executable(app ${SRC_FILES}) find_package(PkgConfig REQUIRED) -pkg_check_modules(GL REQUIRED gl) pkg_check_modules(SDL2 REQUIRED sdl2) pkg_check_modules(FREETYPE REQUIRED freetype2) +pkg_check_modules(GLEW REQUIRED glew) + +find_package(OpenGL REQUIRED) target_compile_options(app PRIVATE -Wall) target_include_directories(app PRIVATE ${SDL2_INCLUDE_DIRS} ${FREETYPE_INCLUDE_DIRS} - ${GL_INCLUDE_DIRS} -) -target_link_libraries(app PRIVATE - ${SDL2_LIBRARIES} - ${FREETYPE_LIBRARIES} - ${GL_LIBRARIES} + ${GLEW_INCLUDE_DIRS} + ${OPENGL_INCLUDE_DIR} ) +# Platform-specific linking +if(WIN32) + target_link_libraries(app PRIVATE + ${SDL2_LIBRARIES} + ${FREETYPE_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + winmm # For timeGetDevCaps, timeBeginPeriod, timeEndPeriod + ) +else() + target_link_libraries(app PRIVATE + ${SDL2_LIBRARIES} + ${FREETYPE_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + ) +endif() + # release build settings set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-nontrivial-memcall") # debug build settings @@ -43,5 +63,4 @@ add_custom_target(release COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMENT "Building ~~**RELEASE**~~" -) - +) \ No newline at end of file -- cgit v1.2.3