diff options
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 48 |
1 files changed, 34 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 3931ec5..fc2ce17 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,30 +7,51 @@ 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) +# release build settings +set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-nontrivial-memcall") +# debug build settings +set(CMAKE_CXX_FLAGS_DEBUG "-g -DDEBUG=1 -fsanitize=address -Wno-nontrivial-memcall") -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} ) -# release build settings -set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wno-nontrivial-memcall") -# debug build settings -set(CMAKE_CXX_FLAGS_DEBUG "-g -DDEBUG=1 -fsanitize=address -Wno-nontrivial-memcall") +# 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() + +target_compile_options(app PRIVATE -Wall) +target_compile_options(app PRIVATE -Wno-nontrivial-memcall) add_custom_target(debug COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=Debug ${CMAKE_BINARY_DIR} @@ -44,4 +65,3 @@ add_custom_target(release WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMENT "Building ~~**RELEASE**~~" ) - |
