From b102afc3165e10a64ce08247512b019ce9a004f0 Mon Sep 17 00:00:00 2001 From: Maarten Bent Date: Sun, 17 Oct 2021 11:52:30 +0200 Subject: [PATCH] CMake: Don't include generator expression in wxPLATFORM_LIB_DIR So wxPLATFORM_LIB_DIR can be used in locations where generator expressions are not supported. --- build/cmake/functions.cmake | 19 ++++++++++++------- build/cmake/init.cmake | 5 ++--- build/cmake/install.cmake | 2 +- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/build/cmake/functions.cmake b/build/cmake/functions.cmake index 102317e707..e62a87b8b7 100644 --- a/build/cmake/functions.cmake +++ b/build/cmake/functions.cmake @@ -26,6 +26,11 @@ else() set(WIN32_MSVC_NAMING 0) endif() +if(MSVC) + # Generator expression to not create different Debug and Release directories + set(MSVC_DIR_FIX "$<1:/>") +endif() + # This function adds a list of headers to a variable while prepending # include/ to the path macro(wx_add_headers src_var) @@ -97,9 +102,9 @@ function(wx_set_common_target_properties target_name) cmake_parse_arguments(wxCOMMON_TARGET_PROPS "DEFAULT_WARNINGS" "" "" ${ARGN}) set_target_properties(${target_name} PROPERTIES - LIBRARY_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${wxPLATFORM_LIB_DIR}" - ARCHIVE_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${wxPLATFORM_LIB_DIR}" - RUNTIME_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${wxPLATFORM_LIB_DIR}" + LIBRARY_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}" + ARCHIVE_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}" + RUNTIME_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}" ) if(wxBUILD_PIC) @@ -417,9 +422,9 @@ macro(wx_add_library name) set(runtime_dir "bin") endif() wx_install(TARGETS ${name} - LIBRARY DESTINATION "lib${wxPLATFORM_LIB_DIR}" - ARCHIVE DESTINATION "lib${wxPLATFORM_LIB_DIR}" - RUNTIME DESTINATION "${runtime_dir}${wxPLATFORM_LIB_DIR}" + LIBRARY DESTINATION "lib${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}" + ARCHIVE DESTINATION "lib${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}" + RUNTIME DESTINATION "${runtime_dir}${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}" BUNDLE DESTINATION Applications/wxWidgets ) endif() @@ -574,7 +579,7 @@ function(wx_set_builtin_target_properties target_name) wx_set_common_target_properties(${target_name} DEFAULT_WARNINGS) if(NOT wxBUILD_SHARED) - wx_install(TARGETS ${name} ARCHIVE DESTINATION "lib${wxPLATFORM_LIB_DIR}") + wx_install(TARGETS ${name} ARCHIVE DESTINATION "lib${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}") endif() endfunction() diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake index d5ecda9c98..bd8152eded 100644 --- a/build/cmake/init.cmake +++ b/build/cmake/init.cmake @@ -153,8 +153,7 @@ if(WIN32_MSVC_NAMING) set(lib_suffix "_lib") endif() - # Include generator expression to suppress default Debug/Release pair - set(wxPLATFORM_LIB_DIR "$<1:/>${wxCOMPILER_PREFIX}${wxARCH_SUFFIX}${lib_suffix}") + set(wxPLATFORM_LIB_DIR "${wxCOMPILER_PREFIX}${wxARCH_SUFFIX}${lib_suffix}") endif() if(wxBUILD_CUSTOM_SETUP_HEADER_PATH) @@ -171,7 +170,7 @@ else() set(lib_unicode) endif() set(wxSETUP_HEADER_PATH - ${wxOUTPUT_DIR}/${wxCOMPILER_PREFIX}${wxARCH_SUFFIX}${lib_suffix}/${wxBUILD_TOOLKIT}${lib_unicode}) + ${wxOUTPUT_DIR}/${wxPLATFORM_LIB_DIR}/${wxBUILD_TOOLKIT}${lib_unicode}) file(MAKE_DIRECTORY ${wxSETUP_HEADER_PATH}/wx) file(MAKE_DIRECTORY ${wxSETUP_HEADER_PATH}d/wx) set(wxSETUP_HEADER_FILE_DEBUG ${wxSETUP_HEADER_PATH}d/wx/setup.h) diff --git a/build/cmake/install.cmake b/build/cmake/install.cmake index ef971c7285..7902646ef4 100644 --- a/build/cmake/install.cmake +++ b/build/cmake/install.cmake @@ -32,7 +32,7 @@ endif() if(WIN32_MSVC_NAMING) wx_install( DIRECTORY "${wxSETUP_HEADER_PATH}" - DESTINATION "lib${wxPLATFORM_LIB_DIR}") + DESTINATION "lib/${wxPLATFORM_LIB_DIR}") else() wx_install( DIRECTORY "${wxSETUP_HEADER_PATH}"