diff --git a/CMakeLists.txt b/CMakeLists.txt index 6104c175..fb516da3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,8 +7,8 @@ if (PUBLIC_RELEASE) set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) # enable LTO endif() -if(WIN32) -set(VCPKG_TARGET_TRIPLET "x64-windows-static" CACHE STRING "") +if (WIN32) + set(VCPKG_TARGET_TRIPLET "x64-windows-static" CACHE STRING "") endif() set(VCPKG_OVERLAY_PORTS "${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports") @@ -23,37 +23,36 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set_property(GLOBAL PROPERTY USE_FOLDERS ON) -IF(MSVC) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fp:precise") # floating point model: precise - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GT") # fiber safe optimizations -ENDIF() - -IF(MSVC AND PUBLIC_RELEASE) +if (MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fp:precise") # floating point model: precise + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GT") # fiber safe optimizations + if (PUBLIC_RELEASE) message(STATUS "Using additional optimization flags for MSVC") - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Oi /Ot") # enable intrinsic functions, favor speed -ENDIF() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Oi /Ot") # enable intrinsic functions, favor speed + endif() +endif() option(ENABLE_OPENGL "Enables the OpenGL backend" ON) option(ENABLE_VULKAN "Enables the Vulkan backend" ON) option(ENABLE_DISCORD_RPC "Enables the Discord Rich Presence feature" ON) -if(WIN32) - option(ENABLE_CEMUHOOK "Enables Cemuhook compatibility" ON) +if (WIN32) + option(ENABLE_CEMUHOOK "Enables Cemuhook compatibility" ON) endif() # input backends -if(WIN32) - option(ENABLE_XINPUT "Enables the usage of XInput" ON) - option(ENABLE_DIRECTINPUT "Enables the usage of DirectInput" ON) - add_definitions(-DHAS_DIRECTINPUT) +if (WIN32) + option(ENABLE_XINPUT "Enables the usage of XInput" ON) + option(ENABLE_DIRECTINPUT "Enables the usage of DirectInput" ON) + add_definitions(-DHAS_DIRECTINPUT) endif() option(ENABLE_SDL "Enables the SDLController backend" ON) # audio backends -if(WIN32) -option(ENABLE_DIRECTAUDIO "Enables the directaudio backend" ON) -option(ENABLE_XAUDIO "Enables the xaudio backend" ON) +if (WIN32) + option(ENABLE_DIRECTAUDIO "Enables the directaudio backend" ON) + option(ENABLE_XAUDIO "Enables the xaudio backend" ON) endif() option(ENABLE_CUBEB "Enabled cubeb backend" ON) @@ -70,21 +69,23 @@ find_package(glslang REQUIRED) find_package(ZLIB REQUIRED) find_package(zstd CONFIG REQUIRED) -if(ENABLE_VULKAN) - find_package(Vulkan REQUIRED) - include_directories("${Vulkan_INCLUDE_DIRS}") -endif() -if(ENABLE_OPENGL) - find_package(OpenGL REQUIRED) -endif() -if(ENABLE_DISCORD_RPC) - add_definitions(-DENABLE_DISCORD_RPC) - add_subdirectory(dependencies/discord-rpc EXCLUDE_FROM_ALL) - target_include_directories(discord-rpc INTERFACE ./dependencies/discord-rpc/include) +if (ENABLE_VULKAN) + find_package(Vulkan REQUIRED) + include_directories("${Vulkan_INCLUDE_DIRS}") endif() -if(ENABLE_WXWIDGETS) - find_package(wxWidgets CONFIG REQUIRED) +if (ENABLE_OPENGL) + find_package(OpenGL REQUIRED) +endif() + +if (ENABLE_DISCORD_RPC) + add_definitions(-DENABLE_DISCORD_RPC) + add_subdirectory(dependencies/discord-rpc EXCLUDE_FROM_ALL) + target_include_directories(discord-rpc INTERFACE ./dependencies/discord-rpc/include) +endif() + +if (ENABLE_WXWIDGETS) + find_package(wxWidgets CONFIG REQUIRED) endif() find_package(OpenSSL REQUIRED) @@ -94,19 +95,19 @@ find_package(X11) link_libraries(${Boost_LIBRARIES}) link_libraries(${X11_LIBRARIES}) link_libraries(SDL2::SDL2 SDL2::SDL2main SDL2::SDL2-static) -if(ENABLE_WXWIDGETS) -link_libraries(wx::core wx::base) +if (ENABLE_WXWIDGETS) + link_libraries(wx::core wx::base) endif() -if(ENABLE_CUBEB) - option(BUILD_TESTS "" OFF) - option(BUILD_TOOLS "" OFF) - option(BUNDLE_SPEEX "" OFF) - set(USE_WINMM OFF CACHE BOOL "") - add_subdirectory(dependencies/cubeb) - set_property(TARGET cubeb PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") - link_libraries(cubeb) - add_compile_definitions(HAS_CUBEB=1) +if (ENABLE_CUBEB) + option(BUILD_TESTS "" OFF) + option(BUILD_TOOLS "" OFF) + option(BUNDLE_SPEEX "" OFF) + set(USE_WINMM OFF CACHE BOOL "") + add_subdirectory(dependencies/cubeb) + set_property(TARGET cubeb PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + link_libraries(cubeb) + add_compile_definitions(HAS_CUBEB=1) endif() add_subdirectory(dependencies/ih264d)