CMake: Move definitions of externals to the CMakeLists in that directory
This commit is contained in:
parent
cebdae6c92
commit
c211368734
|
@ -2,6 +2,10 @@
|
||||||
cmake_minimum_required(VERSION 3.6)
|
cmake_minimum_required(VERSION 3.6)
|
||||||
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules")
|
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules")
|
||||||
|
|
||||||
|
# This function downloads a binary library package from our external repo.
|
||||||
|
# Params:
|
||||||
|
# remote_path: path to the file to download, relative to the remote repository root
|
||||||
|
# prefix_var: name of a variable which will be set with the path to the extracted contents
|
||||||
function(download_bundled_external remote_path lib_name prefix_var)
|
function(download_bundled_external remote_path lib_name prefix_var)
|
||||||
set(prefix "${CMAKE_BINARY_DIR}/externals/${lib_name}")
|
set(prefix "${CMAKE_BINARY_DIR}/externals/${lib_name}")
|
||||||
if (NOT EXISTS "${prefix}")
|
if (NOT EXISTS "${prefix}")
|
||||||
|
@ -254,34 +258,9 @@ get_git_head_revision(GIT_REF_SPEC GIT_REV)
|
||||||
git_describe(GIT_DESC --always --long --dirty)
|
git_describe(GIT_DESC --always --long --dirty)
|
||||||
git_branch_name(GIT_BRANCH)
|
git_branch_name(GIT_BRANCH)
|
||||||
|
|
||||||
add_subdirectory(externals/inih)
|
|
||||||
|
|
||||||
add_subdirectory(externals)
|
add_subdirectory(externals)
|
||||||
|
|
||||||
option(DYNARMIC_TESTS OFF)
|
|
||||||
set(DYNARMIC_NO_BUNDLED_FMT ON)
|
|
||||||
add_subdirectory(externals/dynarmic)
|
|
||||||
|
|
||||||
add_subdirectory(externals/glad)
|
|
||||||
|
|
||||||
add_library(microprofile INTERFACE)
|
|
||||||
target_include_directories(microprofile INTERFACE externals/microprofile)
|
|
||||||
|
|
||||||
add_library(nihstro-headers INTERFACE)
|
|
||||||
target_include_directories(nihstro-headers INTERFACE externals/nihstro/include)
|
|
||||||
|
|
||||||
if (MSVC)
|
|
||||||
add_subdirectory(externals/getopt)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# process subdirectories
|
|
||||||
add_subdirectory(externals/soundtouch)
|
|
||||||
# The SoundTouch target doesn't export the necessary include paths as properties by default
|
|
||||||
target_include_directories(SoundTouch INTERFACE "externals/soundtouch/include")
|
|
||||||
|
|
||||||
enable_testing()
|
|
||||||
|
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
|
enable_testing()
|
||||||
|
|
||||||
# Install freedesktop.org metadata files, following those specifications:
|
# Install freedesktop.org metadata files, following those specifications:
|
||||||
# http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
|
# http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
|
||||||
|
|
|
@ -1,16 +1,52 @@
|
||||||
|
# Definitions for all external bundled libraries
|
||||||
|
|
||||||
# Catch
|
# Catch
|
||||||
add_library(catch-single-include INTERFACE)
|
add_library(catch-single-include INTERFACE)
|
||||||
target_include_directories(catch-single-include INTERFACE catch/single_include)
|
target_include_directories(catch-single-include INTERFACE catch/single_include)
|
||||||
|
|
||||||
|
# Crypto++
|
||||||
|
add_subdirectory(cryptopp)
|
||||||
|
|
||||||
|
# Dynarmic
|
||||||
|
# Dynarmic will skip defining xbyak if it's already defined, we then define it below
|
||||||
|
add_library(xbyak INTERFACE)
|
||||||
|
option(DYNARMIC_TESTS OFF)
|
||||||
|
set(DYNARMIC_NO_BUNDLED_FMT ON)
|
||||||
|
add_subdirectory(dynarmic)
|
||||||
|
|
||||||
|
# libfmt
|
||||||
|
add_subdirectory(fmt)
|
||||||
|
|
||||||
|
# getopt
|
||||||
|
if (MSVC)
|
||||||
|
add_subdirectory(getopt)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Glad
|
||||||
|
add_subdirectory(glad)
|
||||||
|
|
||||||
|
# inih
|
||||||
|
add_subdirectory(inih)
|
||||||
|
|
||||||
|
# MicroProfile
|
||||||
|
add_library(microprofile INTERFACE)
|
||||||
|
target_include_directories(microprofile INTERFACE ./microprofile)
|
||||||
|
|
||||||
|
# Nihstro
|
||||||
|
add_library(nihstro-headers INTERFACE)
|
||||||
|
target_include_directories(nihstro-headers INTERFACE ./nihstro/include)
|
||||||
|
|
||||||
|
# SoundTouch
|
||||||
|
add_subdirectory(soundtouch)
|
||||||
|
# The SoundTouch target doesn't export the necessary include paths as properties by default
|
||||||
|
target_include_directories(SoundTouch INTERFACE ./soundtouch/include)
|
||||||
|
|
||||||
# Xbyak
|
# Xbyak
|
||||||
if (ARCHITECTURE_x86_64)
|
if (ARCHITECTURE_x86_64)
|
||||||
add_library(xbyak INTERFACE)
|
# Defined before "dynarmic" above
|
||||||
target_include_directories(xbyak INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/xbyak/xbyak)
|
# add_library(xbyak INTERFACE)
|
||||||
|
target_include_directories(xbyak INTERFACE ./xbyak/xbyak)
|
||||||
if (NOT MSVC)
|
if (NOT MSVC)
|
||||||
target_compile_options(xbyak INTERFACE -fno-operator-names)
|
target_compile_options(xbyak INTERFACE -fno-operator-names)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_subdirectory(cryptopp)
|
|
||||||
|
|
||||||
add_subdirectory(fmt)
|
|
||||||
|
|
Reference in New Issue