Files

57 lines
1.7 KiB
CMake

add_executable(openroller-desktop
src/AudioManager.cpp
src/CabinetBackend.cpp
src/LevelLoader.cpp
src/ServiceMenu.cpp
src/SongSelect.cpp
src/main.cpp
)
set_target_properties(openroller-desktop PROPERTIES OUTPUT_NAME OpenRoller)
target_include_directories(openroller-desktop PRIVATE include)
target_link_libraries(openroller-desktop
PRIVATE
Vectorail::Core
Vectorail::GC
Vectorail::GCEffects
)
if(MINGW AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
target_link_options(openroller-desktop PRIVATE
-static -static-libgcc -static-libstdc++)
endif()
if(MSVC)
target_compile_options(openroller-desktop PRIVATE /W4)
else()
target_compile_options(openroller-desktop PRIVATE -Wall -Wextra -Wpedantic)
endif()
configure_file(openroller.cfg openroller.cfg COPYONLY)
file(COPY shaders DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
add_custom_command(TARGET openroller-desktop POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_CURRENT_SOURCE_DIR}/shaders"
"$<TARGET_FILE_DIR:openroller-desktop>/shaders"
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${CMAKE_CURRENT_SOURCE_DIR}/openroller.cfg"
"$<TARGET_FILE_DIR:openroller-desktop>/openroller.cfg"
VERBATIM
)
if(WIN32 AND TARGET SDL3::SDL3-shared)
add_custom_command(TARGET openroller-desktop POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"$<TARGET_FILE:SDL3::SDL3-shared>"
"$<TARGET_FILE_DIR:openroller-desktop>"
VERBATIM
)
install(FILES "$<TARGET_FILE:SDL3::SDL3-shared>" DESTINATION .)
endif()
install(TARGETS openroller-desktop RUNTIME DESTINATION .)
install(DIRECTORY shaders DESTINATION .)
install(FILES openroller.cfg DESTINATION .)