CMake Lists
CMake Lists
include_directories(.)
if (ENABLE_LTO)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
endif()
# Avoid windows.h from including some usually unused libs like winsocks.h,
since this might cause some redefinition errors.
add_definitions(-DWIN32_LEAN_AND_MEAN)
# Warnings
/W3
if (CITRA_WARNINGS_AS_ERRORS)
add_compile_options(/WX)
endif()
if (CITRA_WARNINGS_AS_ERRORS)
add_compile_options(-Werror)
endif()
if (MINGW)
add_definitions(-DMINGW_HAS_SECURE_API)
if (COMPILE_WITH_DWARF)
add_compile_options("-gdwarf")
endif()
endif()
if(ENABLE_SOFTWARE_RENDERER)
add_compile_definitions(ENABLE_SOFTWARE_RENDERER)
endif()
if(ENABLE_OPENGL)
add_compile_definitions(ENABLE_OPENGL)
endif()
if(ENABLE_VULKAN)
add_compile_definitions(ENABLE_VULKAN)
endif()
add_subdirectory(common)
add_subdirectory(core)
add_subdirectory(video_core)
add_subdirectory(audio_core)
add_subdirectory(network)
add_subdirectory(input_common)
if (ENABLE_TESTS)
add_subdirectory(tests)
endif()
if (ENABLE_QT)
add_subdirectory(citra_qt)
endif()
if (ENABLE_DEDICATED_ROOM)
add_subdirectory(dedicated_room)
endif()
if (ANDROID)
add_subdirectory(android/app/src/main/jni)
target_include_directories(citra-android PRIVATE android/app/src/main)
endif()
if (ENABLE_WEB_SERVICE)
add_subdirectory(web_service)
endif()