summaryrefslogtreecommitdiffstats
path: root/externals
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--externals/CMakeLists.txt51
-rw-r--r--externals/cryptopp/CMakeLists.txt6
m---------externals/dynarmic0
m---------externals/fmt0
-rw-r--r--externals/glad/CMakeLists.txt3
-rw-r--r--externals/inih/CMakeLists.txt1
6 files changed, 53 insertions, 8 deletions
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index 309e98464..1e04931ee 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -1,11 +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)
-
diff --git a/externals/cryptopp/CMakeLists.txt b/externals/cryptopp/CMakeLists.txt
index 653af1e4b..864de18bb 100644
--- a/externals/cryptopp/CMakeLists.txt
+++ b/externals/cryptopp/CMakeLists.txt
@@ -10,6 +10,7 @@
# - disabled installation
# - disabled documentation
# - configured to build a static library only
+# - adds include directories to the library target
include(TestBigEndian)
include(CheckCXXCompilerFlag)
@@ -148,14 +149,15 @@ endif()
# Compile targets
#============================================================================
add_library(cryptopp STATIC ${cryptopp_SOURCES})
+target_include_directories(cryptopp INTERFACE .)
#============================================================================
# Third-party libraries
#============================================================================
if(WIN32)
- target_link_libraries(cryptopp ws2_32)
+ target_link_libraries(cryptopp PRIVATE ws2_32)
endif()
find_package(Threads)
-target_link_libraries(cryptopp ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(cryptopp PRIVATE ${CMAKE_THREAD_LIBS_INIT})
diff --git a/externals/dynarmic b/externals/dynarmic
-Subproject 358cf7c32205a5114964865c86a8455daf81073
+Subproject 7707ff13e981b0aecf87f3156ee0b641469f7bb
diff --git a/externals/fmt b/externals/fmt
new file mode 160000
+Subproject ac5484c4e7365b59d8c7e14db6778de26635e42
diff --git a/externals/glad/CMakeLists.txt b/externals/glad/CMakeLists.txt
index a97d4aa73..6d35a844b 100644
--- a/externals/glad/CMakeLists.txt
+++ b/externals/glad/CMakeLists.txt
@@ -9,6 +9,7 @@ set(HEADERS
create_directory_groups(${SRCS} ${HEADERS})
add_library(glad STATIC ${SRCS} ${HEADERS})
target_include_directories(glad PUBLIC "include/")
+
if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
- target_link_libraries(glad dl)
+ target_link_libraries(glad PRIVATE dl)
endif()
diff --git a/externals/inih/CMakeLists.txt b/externals/inih/CMakeLists.txt
index c87f78bfc..cff36a581 100644
--- a/externals/inih/CMakeLists.txt
+++ b/externals/inih/CMakeLists.txt
@@ -9,3 +9,4 @@ set(HEADERS
create_directory_groups(${SRCS} ${HEADERS})
add_library(inih ${SRCS} ${HEADERS})
+target_include_directories(inih INTERFACE .)