CMake: Move definitions of externals to the CMakeLists in that directory
This commit is contained in:
		@@ -2,6 +2,10 @@
 | 
			
		||||
cmake_minimum_required(VERSION 3.6)
 | 
			
		||||
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)
 | 
			
		||||
    set(prefix "${CMAKE_BINARY_DIR}/externals/${lib_name}")
 | 
			
		||||
    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_branch_name(GIT_BRANCH)
 | 
			
		||||
 | 
			
		||||
add_subdirectory(externals/inih)
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
enable_testing()
 | 
			
		||||
 | 
			
		||||
# Install freedesktop.org metadata files, following those specifications:
 | 
			
		||||
# http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										48
									
								
								externals/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										48
									
								
								externals/CMakeLists.txt
									
									
									
									
										vendored
									
									
								
							@@ -1,16 +1,52 @@
 | 
			
		||||
# Definitions for all external bundled libraries
 | 
			
		||||
 | 
			
		||||
# Catch
 | 
			
		||||
add_library(catch-single-include INTERFACE)
 | 
			
		||||
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
 | 
			
		||||
if (ARCHITECTURE_x86_64)
 | 
			
		||||
    add_library(xbyak INTERFACE)
 | 
			
		||||
    target_include_directories(xbyak INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/xbyak/xbyak)
 | 
			
		||||
    # Defined before "dynarmic" above
 | 
			
		||||
    # add_library(xbyak INTERFACE)
 | 
			
		||||
    target_include_directories(xbyak INTERFACE ./xbyak/xbyak)
 | 
			
		||||
    if (NOT MSVC)
 | 
			
		||||
        target_compile_options(xbyak INTERFACE -fno-operator-names)
 | 
			
		||||
    endif()
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
add_subdirectory(cryptopp)
 | 
			
		||||
 | 
			
		||||
add_subdirectory(fmt)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user