Merge branch 'cmake-lib-dir-fix' of https://github.com/MaartenBent/wxWidgets

CMake: Fix library directory and don't use symlinks when using MinGW.

See https://github.com/wxWidgets/wxWidgets/pull/2569
This commit is contained in:
Vadim Zeitlin
2021-10-27 23:28:23 +01:00
2 changed files with 18 additions and 16 deletions

View File

@@ -12,11 +12,8 @@ file(MAKE_DIRECTORY ${wxCONFIG_DIR})
set(TOOLCHAIN_FULLNAME ${wxBUILD_FILE_ID}) set(TOOLCHAIN_FULLNAME ${wxBUILD_FILE_ID})
macro(wx_configure_script input output) macro(wx_configure_script input output)
set(abs_top_srcdir ${CMAKE_CURRENT_SOURCE_DIR})
set(abs_top_builddir ${CMAKE_CURRENT_BINARY_DIR})
configure_file( configure_file(
${input} ${CMAKE_CURRENT_SOURCE_DIR}/${input}
${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${output} ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${output}
ESCAPE_QUOTES @ONLY NEWLINE_STYLE UNIX) ESCAPE_QUOTES @ONLY NEWLINE_STYLE UNIX)
file(COPY file(COPY
@@ -68,12 +65,17 @@ endmacro()
function(wx_write_config_inplace) function(wx_write_config_inplace)
wx_configure_script( wx_configure_script(
"${CMAKE_CURRENT_SOURCE_DIR}/wx-config-inplace.in" "wx-config-inplace.in"
"inplace-${TOOLCHAIN_FULLNAME}" "inplace-${TOOLCHAIN_FULLNAME}"
) )
if(WIN32_MSVC_NAMING)
set(COPY_CMD copy)
else()
set(COPY_CMD create_symlink)
endif()
execute_process( execute_process(
COMMAND COMMAND
${CMAKE_COMMAND} -E create_symlink ${CMAKE_COMMAND} -E ${COPY_CMD}
"lib/wx/config/inplace-${TOOLCHAIN_FULLNAME}" "lib/wx/config/inplace-${TOOLCHAIN_FULLNAME}"
"${CMAKE_CURRENT_BINARY_DIR}/wx-config" "${CMAKE_CURRENT_BINARY_DIR}/wx-config"
) )
@@ -186,7 +188,7 @@ function(wx_write_config)
set(RESCOMP) set(RESCOMP)
wx_configure_script( wx_configure_script(
"${CMAKE_CURRENT_SOURCE_DIR}/wx-config.in" "wx-config.in"
"${TOOLCHAIN_FULLNAME}" "${TOOLCHAIN_FULLNAME}"
) )
endfunction() endfunction()

View File

@@ -26,9 +26,9 @@ else()
set(WIN32_MSVC_NAMING 0) set(WIN32_MSVC_NAMING 0)
endif() endif()
if(MSVC) if(WIN32_MSVC_NAMING)
# Generator expression to not create different Debug and Release directories # Generator expression to not create different Debug and Release directories
set(MSVC_DIR_FIX "$<1:/>") set(GEN_EXPR_DIR_FIX "$<1:/>")
endif() endif()
# This function adds a list of headers to a variable while prepending # This function adds a list of headers to a variable while prepending
@@ -102,9 +102,9 @@ function(wx_set_common_target_properties target_name)
cmake_parse_arguments(wxCOMMON_TARGET_PROPS "DEFAULT_WARNINGS" "" "" ${ARGN}) cmake_parse_arguments(wxCOMMON_TARGET_PROPS "DEFAULT_WARNINGS" "" "" ${ARGN})
set_target_properties(${target_name} PROPERTIES set_target_properties(${target_name} PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}" LIBRARY_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}/${GEN_EXPR_DIR_FIX}${wxPLATFORM_LIB_DIR}"
ARCHIVE_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}" ARCHIVE_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}/${GEN_EXPR_DIR_FIX}${wxPLATFORM_LIB_DIR}"
RUNTIME_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}" RUNTIME_OUTPUT_DIRECTORY "${wxOUTPUT_DIR}/${GEN_EXPR_DIR_FIX}${wxPLATFORM_LIB_DIR}"
) )
if(wxBUILD_PIC) if(wxBUILD_PIC)
@@ -422,9 +422,9 @@ macro(wx_add_library name)
set(runtime_dir "bin") set(runtime_dir "bin")
endif() endif()
wx_install(TARGETS ${name} wx_install(TARGETS ${name}
LIBRARY DESTINATION "lib${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}" LIBRARY DESTINATION "lib/${GEN_EXPR_DIR_FIX}${wxPLATFORM_LIB_DIR}"
ARCHIVE DESTINATION "lib${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}" ARCHIVE DESTINATION "lib/${GEN_EXPR_DIR_FIX}${wxPLATFORM_LIB_DIR}"
RUNTIME DESTINATION "${runtime_dir}${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}" RUNTIME DESTINATION "${runtime_dir}/${GEN_EXPR_DIR_FIX}${wxPLATFORM_LIB_DIR}"
BUNDLE DESTINATION Applications/wxWidgets BUNDLE DESTINATION Applications/wxWidgets
) )
endif() endif()
@@ -579,7 +579,7 @@ function(wx_set_builtin_target_properties target_name)
wx_set_common_target_properties(${target_name} DEFAULT_WARNINGS) wx_set_common_target_properties(${target_name} DEFAULT_WARNINGS)
if(NOT wxBUILD_SHARED) if(NOT wxBUILD_SHARED)
wx_install(TARGETS ${name} ARCHIVE DESTINATION "lib${MSVC_DIR_FIX}${wxPLATFORM_LIB_DIR}") wx_install(TARGETS ${name} ARCHIVE DESTINATION "lib/${GEN_EXPR_DIR_FIX}${wxPLATFORM_LIB_DIR}")
endif() endif()
endfunction() endfunction()