summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorKasullian <tomkasull@gmail.com>2025-09-08 23:20:06 -0400
committerKasullian <tomkasull@gmail.com>2025-09-08 23:20:06 -0400
commitba6d14a7737ef7cd02b61586e39ca2162df3018d (patch)
treebfca13d4e4dd539fc357583ebc0347ec0c1144d0 /CMakeLists.txt
parentf8b92ce3aa08b1445c9f956d8166830946562d12 (diff)
glew, map parsing for windows
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt39
1 files changed, 29 insertions, 10 deletions
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