From b1684eba9c107e55a877527109820c9f8721e70d Mon Sep 17 00:00:00 2001 From: Ryan Huffman Date: Tue, 9 Feb 2016 10:48:16 -0800 Subject: [PATCH] Add BugSplat cmake files --- cmake/macros/AddBugSplat.cmake | 19 +++++++++++++++++++ cmake/modules/FindBugSplat.cmake | 22 ++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 cmake/macros/AddBugSplat.cmake create mode 100644 cmake/modules/FindBugSplat.cmake diff --git a/cmake/macros/AddBugSplat.cmake b/cmake/macros/AddBugSplat.cmake new file mode 100644 index 0000000000..5facd1226c --- /dev/null +++ b/cmake/macros/AddBugSplat.cmake @@ -0,0 +1,19 @@ +macro(add_bugsplat) + find_package(BugSplat) + + get_property(BUGSPLAT_CHECKED GLOBAL PROPERTY CHECKED_FOR_BUGSPLAT_ONCE) + + if (BUGSPLAT_FOUND) + add_definitions(-DHAS_BUGSPLAT) + + target_include_directories(${TARGET_NAME} PRIVATE ${BUGSPLAT_INCLUDE_DIRS}) + target_link_libraries(${TARGET_NAME} ${BUGSPLAT_LIBRARIES}) + + add_custom_command(TARGET ${TARGET_NAME} + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${BUGSPLAT_RC_DLL_PATH} "$/") + add_custom_command(TARGET ${TARGET_NAME} + POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy ${BUGSPLAT_EXE_PATH} "$/") + endif () +endmacro() diff --git a/cmake/modules/FindBugSplat.cmake b/cmake/modules/FindBugSplat.cmake new file mode 100644 index 0000000000..f9fe772b87 --- /dev/null +++ b/cmake/modules/FindBugSplat.cmake @@ -0,0 +1,22 @@ +if (WIN32) + message("in findbugsplat") + include("${MACRO_DIR}/HifiLibrarySearchHints.cmake") + hifi_library_search_hints("BugSplat") + + find_path(BUGSPLAT_INCLUDE_DIRS NAMES BugSplat.h PATH_SUFFIXES inc HINTS ${BUGSPLAT_SEARCH_DIRS}) + + find_library(BUGSPLAT_LIBRARY_RELEASE "BugSplat64.lib" PATH_SUFFIXES "lib64" HINTS ${BUGSPLAT_SEARCH_DIRS}) + find_path(BUGSPLAT_DLL_PATH NAMES "BugSplat64.dll" PATH_SUFFIXES "bin64" HINTS ${BUGSPLAT_SEARCH_DIRS}) + find_file(BUGSPLAT_RC_DLL_PATH NAMES "BugSplatRc64.dll" PATH_SUFFIXES "bin64" HINTS ${BUGSPLAT_SEARCH_DIRS}) + find_file(BUGSPLAT_EXE_PATH NAMES "BsSndRpt64.exe" PATH_SUFFIXES "bin64" HINTS ${BUGSPLAT_SEARCH_DIRS}) + + include(SelectLibraryConfigurations) + select_library_configurations(BUGSPLAT) + + set(BUGSPLAT_LIBRARIES ${BUGSPLAT_LIBRARY_RELEASE}) + + set(BUGSPLAT_REQUIREMENTS BUGSPLAT_INCLUDE_DIRS BUGSPLAT_LIBRARIES BUGSPLAT_DLL_PATH BUGSPLAT_RC_DLL_PATH BUGSPLAT_EXE_PATH) + find_package_handle_standard_args(BugSplat DEFAULT_MSG ${BUGSPLAT_REQUIREMENTS}) + + add_paths_to_fixup_libs(${BUGSPLAT_DLL_PATH}) +endif ()