diff --git a/CMakeLists.txt b/CMakeLists.txt index 924d0367c2..e216d304c8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -110,17 +110,6 @@ set(HIFI_CMAKE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cmake") set(MACRO_DIR "${HIFI_CMAKE_DIR}/macros") set(EXTERNAL_PROJECT_DIR "${HIFI_CMAKE_DIR}/externals") -STRING(REGEX REPLACE " " "-" CMAKE_GENERATOR_FOLDER_NAME ${CMAKE_GENERATOR}) - -set(EXTERNALS_BINARY_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build-externals") -if (ANDROID) - set(EXTERNALS_BINARY_DIR "${EXTERNALS_BINARY_ROOT_DIR}/android/${CMAKE_GENERATOR_FOLDER_NAME}") -else () - set(EXTERNALS_BINARY_DIR "${EXTERNALS_BINARY_ROOT_DIR}/${CMAKE_GENERATOR_FOLDER_NAME}") -endif () - -set_property(DIRECTORY PROPERTY EP_PREFIX "project") - file(GLOB HIFI_CUSTOM_MACROS "cmake/macros/*.cmake") foreach(CUSTOM_MACRO ${HIFI_CUSTOM_MACROS}) include(${CUSTOM_MACRO}) @@ -133,6 +122,9 @@ if (ANDROID) endforeach() endif () +set_property(DIRECTORY PROPERTY EP_PREFIX "project") +setup_externals_binary_dir() + if (WIN32) add_paths_to_lib_paths("${QT_DIR}/bin") endif () diff --git a/cmake/macros/SetupExternalsBinaryDir.cmake b/cmake/macros/SetupExternalsBinaryDir.cmake new file mode 100644 index 0000000000..0e59328a23 --- /dev/null +++ b/cmake/macros/SetupExternalsBinaryDir.cmake @@ -0,0 +1,30 @@ +# +# SetupExternalsBinaryDir.cmake +# cmake/macros +# +# Copyright 2015 High Fidelity, Inc. +# Created by Stephen Birarda on February 19, 2014 +# +# Distributed under the Apache License, Version 2.0. +# See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +# + +macro(SETUP_EXTERNALS_BINARY_DIR) + + # get a short name for the generator to use in the path + STRING(REGEX REPLACE " " "-" CMAKE_GENERATOR_FOLDER_NAME ${CMAKE_GENERATOR}) + + if (CMAKE_GENERATOR_FOLDER_NAME STREQUAL "Unix-Makefiles") + set(CMAKE_GENERATOR_FOLDER_NAME "makefiles") + elseif (CMAKE_GENERATOR_FOLDER_NAME STREQUAL "Visual-Studio-12") + set(CMAKE_GENERATOR_FOLDER_NAME "vs12") + endif () + + set(EXTERNALS_BINARY_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build-externals") + if (ANDROID) + set(EXTERNALS_BINARY_DIR "${EXTERNALS_BINARY_ROOT_DIR}/android/${CMAKE_GENERATOR_FOLDER_NAME}") + else () + set(EXTERNALS_BINARY_DIR "${EXTERNALS_BINARY_ROOT_DIR}/${CMAKE_GENERATOR_FOLDER_NAME}") + endif () + +endmacro() \ No newline at end of file