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
	 Yuri Kunde Schlesner
					Yuri Kunde Schlesner