From 4f15dce4540b4d77622680e9ef282b0500480d1a Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Mon, 9 Jan 2017 09:03:07 +0100 Subject: [PATCH] [Conan] Drop config specific output subdir on Windows. Created output paths are then consistent with Linux / macOS. Switched from deprecated CMake variables to newer ones. --- scripts/cmake/ProjectSetup.cmake | 13 +++++++++++-- scripts/cmake/packaging/Pack.cmake | 6 +++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/scripts/cmake/ProjectSetup.cmake b/scripts/cmake/ProjectSetup.cmake index 3884438395b..3774a068f19 100644 --- a/scripts/cmake/ProjectSetup.cmake +++ b/scripts/cmake/ProjectSetup.cmake @@ -6,8 +6,17 @@ Either use the correct generator, e.g. 'Visual Studio 14 2015 Win64' or define \ endif() # Set build directories -set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) -set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin) +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) +if(USE_CONAN AND MSVC) + foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) + string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) + endforeach(OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES) +endif() # Enable Visual Studio project folder grouping set_property(GLOBAL PROPERTY USE_FOLDERS ON) diff --git a/scripts/cmake/packaging/Pack.cmake b/scripts/cmake/packaging/Pack.cmake index a7f56030c7f..ef5a6b9ab4c 100644 --- a/scripts/cmake/packaging/Pack.cmake +++ b/scripts/cmake/packaging/Pack.cmake @@ -105,15 +105,15 @@ cpack_add_component(ogs_docs if(USE_CONAN) # Install shared libraries, copied to bin-dir foreach(PATTERN "*.dll" "*.dylib") - file(GLOB MATCHED_FILES ${EXECUTABLE_OUTPUT_PATH}/${PATTERN}) + file(GLOB MATCHED_FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PATTERN}) install(FILES ${MATCHED_FILES} DESTINATION bin) endforeach() # macOS frameworks are directories, exclude header files - file(GLOB MATCHED_DIRECTORIES "${EXECUTABLE_OUTPUT_PATH}/*.framework") + file(GLOB MATCHED_DIRECTORIES "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/*.framework") install(DIRECTORY ${MATCHED_DIRECTORIES} DESTINATION bin PATTERN "Headers" EXCLUDE) # Install Qt platform shared libraries - install(DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/platforms DESTINATION bin OPTIONAL) + install(DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/platforms DESTINATION bin OPTIONAL) endif() -- GitLab