Merge branch 'cmake-output-name' of https://github.com/MaartenBent/wxWidgets
CMake: Improve output filenames, add flavour option. See https://github.com/wxWidgets/wxWidgets/pull/1735
This commit is contained in:
@@ -122,13 +122,13 @@ endfunction()
|
|||||||
# Set common properties on wx library target
|
# Set common properties on wx library target
|
||||||
function(wx_set_target_properties target_name is_base)
|
function(wx_set_target_properties target_name is_base)
|
||||||
# Set library name according to:
|
# Set library name according to:
|
||||||
# docs/contrib/about-platform-toolkit-and-library-names.md
|
# docs/contributing/about-platform-toolkit-and-library-names.md
|
||||||
if(is_base)
|
if(is_base)
|
||||||
set(lib_toolkit base)
|
set(lib_toolkit base)
|
||||||
else()
|
else()
|
||||||
set(lib_toolkit ${wxBUILD_TOOLKIT}${wxBUILD_WIDGETSET})
|
set(lib_toolkit ${wxBUILD_TOOLKIT}${wxBUILD_WIDGETSET})
|
||||||
endif()
|
endif()
|
||||||
if(WIN32)
|
if(MSVC)
|
||||||
set(lib_version ${wxMAJOR_VERSION}${wxMINOR_VERSION})
|
set(lib_version ${wxMAJOR_VERSION}${wxMINOR_VERSION})
|
||||||
else()
|
else()
|
||||||
set(lib_version ${wxMAJOR_VERSION}.${wxMINOR_VERSION})
|
set(lib_version ${wxMAJOR_VERSION}.${wxMINOR_VERSION})
|
||||||
@@ -144,47 +144,58 @@ function(wx_set_target_properties target_name is_base)
|
|||||||
else()
|
else()
|
||||||
set(lib_suffix)
|
set(lib_suffix)
|
||||||
endif()
|
endif()
|
||||||
|
set(lib_flavour "")
|
||||||
|
if(wxBUILD_FLAVOUR)
|
||||||
|
set(lib_flavour "_${wxBUILD_FLAVOUR}")
|
||||||
|
string(REPLACE "-" "_" lib_flavour ${lib_flavour})
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
if(MSVC)
|
||||||
|
# match visual studio name
|
||||||
|
set_target_properties(${target_name}
|
||||||
|
PROPERTIES
|
||||||
|
OUTPUT_NAME "wx${lib_toolkit}${lib_version}${lib_unicode}${lib_flavour}${lib_suffix}"
|
||||||
|
OUTPUT_NAME_DEBUG "wx${lib_toolkit}${lib_version}${lib_unicode}d${lib_flavour}${lib_suffix}"
|
||||||
|
PREFIX ""
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
# match configure name (mingw, cygwin)
|
||||||
|
set_target_properties(${target_name}
|
||||||
|
PROPERTIES
|
||||||
|
OUTPUT_NAME "wx_${lib_toolkit}${lib_unicode}${lib_flavour}${lib_suffix}-${lib_version}"
|
||||||
|
OUTPUT_NAME_DEBUG "wx_${lib_toolkit}${lib_unicode}d${lib_flavour}${lib_suffix}-${lib_version}"
|
||||||
|
PREFIX "lib"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(wxBUILD_SHARED)
|
if(wxBUILD_SHARED)
|
||||||
# Add compiler type and or vendor
|
# Add compiler type and or vendor
|
||||||
set(dll_suffix "_${wxCOMPILER_PREFIX}${wxARCH_SUFFIX}")
|
set(dll_suffix "${lib_flavour}${lib_suffix}_${wxCOMPILER_PREFIX}")
|
||||||
if(wxBUILD_VENDOR)
|
if(wxBUILD_VENDOR)
|
||||||
wx_string_append(dll_suffix "_${wxBUILD_VENDOR}")
|
wx_string_append(dll_suffix "_${wxBUILD_VENDOR}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(dll_version ${lib_version})
|
set(dll_version ${wxMAJOR_VERSION}${wxMINOR_VERSION})
|
||||||
if(wxVERSION_IS_DEV)
|
if(wxVERSION_IS_DEV)
|
||||||
wx_string_append(dll_version ${wxRELEASE_NUMBER})
|
wx_string_append(dll_version ${wxRELEASE_NUMBER})
|
||||||
endif()
|
endif()
|
||||||
set_target_properties(${target_name}
|
set_target_properties(${target_name}
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
RUNTIME_OUTPUT_NAME wx${lib_toolkit}${dll_version}${lib_unicode}${lib_suffix}${dll_suffix}
|
RUNTIME_OUTPUT_NAME "wx${lib_toolkit}${dll_version}${lib_unicode}${dll_suffix}"
|
||||||
RUNTIME_OUTPUT_NAME_DEBUG wx${lib_toolkit}${dll_version}${lib_unicode}d${lib_suffix}${dll_suffix})
|
RUNTIME_OUTPUT_NAME_DEBUG "wx${lib_toolkit}${dll_version}${lib_unicode}d${dll_suffix}"
|
||||||
if(MINGW)
|
PREFIX ""
|
||||||
# Modify MinGW output to match other build systems
|
)
|
||||||
set_target_properties(${target_name}
|
|
||||||
PROPERTIES
|
|
||||||
PREFIX ""
|
|
||||||
IMPORT_SUFFIX .a
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
target_compile_definitions(${target_name} PRIVATE
|
target_compile_definitions(${target_name} PRIVATE
|
||||||
"-DWXDLLNAME=wx${lib_toolkit}${dll_version}${lib_unicode}$<$<CONFIG:Debug>:d>${lib_suffix}${dll_suffix}")
|
"-DWXDLLNAME=wx${lib_toolkit}${dll_version}${lib_unicode}$<$<CONFIG:Debug>:d>${dll_suffix}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_target_properties(${target_name}
|
|
||||||
PROPERTIES
|
|
||||||
OUTPUT_NAME wx${lib_toolkit}${lib_version}${lib_unicode}${lib_suffix}
|
|
||||||
OUTPUT_NAME_DEBUG wx${lib_toolkit}${lib_version}${lib_unicode}d${lib_suffix}
|
|
||||||
PREFIX ""
|
|
||||||
)
|
|
||||||
else()
|
else()
|
||||||
set_target_properties(${target_name}
|
set_target_properties(${target_name}
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
OUTPUT_NAME wx_${lib_toolkit}${lib_unicode}${lib_suffix}-${lib_version}
|
OUTPUT_NAME wx_${lib_toolkit}${lib_unicode}${lib_flavour}${lib_suffix}-${lib_version}
|
||||||
# NOTE: wx-config can not be used to connect the libraries with the debug suffix.
|
# NOTE: wx-config can not be used to connect the libraries with the debug suffix.
|
||||||
#OUTPUT_NAME_DEBUG wx_${lib_toolkit}${lib_unicode}d${lib_suffix}-${lib_version}
|
#OUTPUT_NAME_DEBUG wx_${lib_toolkit}${lib_unicode}d${lib_flavour}${lib_suffix}-${lib_version}
|
||||||
OUTPUT_NAME_DEBUG wx_${lib_toolkit}${lib_unicode}${lib_suffix}-${lib_version}
|
OUTPUT_NAME_DEBUG wx_${lib_toolkit}${lib_unicode}${lib_flavour}${lib_suffix}-${lib_version}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
if(CYGWIN)
|
if(CYGWIN)
|
||||||
|
@@ -118,6 +118,11 @@ if(NOT wxBUILD_SHARED)
|
|||||||
wx_string_append(wxBUILD_FILE_ID "-static")
|
wx_string_append(wxBUILD_FILE_ID "-static")
|
||||||
endif()
|
endif()
|
||||||
wx_string_append(wxBUILD_FILE_ID "-${wxMAJOR_VERSION}.${wxMINOR_VERSION}")
|
wx_string_append(wxBUILD_FILE_ID "-${wxMAJOR_VERSION}.${wxMINOR_VERSION}")
|
||||||
|
if(wxBUILD_FLAVOUR)
|
||||||
|
set(lib_flavour ${wxBUILD_FLAVOUR})
|
||||||
|
string(REPLACE "-" "_" lib_flavour ${lib_flavour})
|
||||||
|
wx_string_append(wxBUILD_FILE_ID "-${lib_flavour}")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(wxARCH_SUFFIX)
|
set(wxARCH_SUFFIX)
|
||||||
|
|
||||||
@@ -140,19 +145,15 @@ else()
|
|||||||
set(wxCOMPILER_PREFIX)
|
set(wxCOMPILER_PREFIX)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC OR MINGW)
|
if(MSVC)
|
||||||
if(wxBUILD_SHARED)
|
if(wxBUILD_SHARED)
|
||||||
set(lib_suffix "dll")
|
set(lib_suffix "dll")
|
||||||
else()
|
else()
|
||||||
set(lib_suffix "lib")
|
set(lib_suffix "lib")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
# Include generator expression to suppress default Debug/Release pair
|
||||||
# Include generator expression to suppress default Debug/Release pair
|
set(wxPLATFORM_LIB_DIR "$<1:/>${wxCOMPILER_PREFIX}${wxARCH_SUFFIX}_${lib_suffix}")
|
||||||
set(wxPLATFORM_LIB_DIR "$<1:/>${wxCOMPILER_PREFIX}${wxARCH_SUFFIX}_${lib_suffix}")
|
|
||||||
else()
|
|
||||||
set(wxPLATFORM_LIB_DIR "/${wxCOMPILER_PREFIX}${wxARCH_SUFFIX}_${lib_suffix}")
|
|
||||||
endif()
|
|
||||||
else()
|
else()
|
||||||
set(wxPLATFORM_LIB_DIR)
|
set(wxPLATFORM_LIB_DIR)
|
||||||
endif()
|
endif()
|
||||||
@@ -164,7 +165,7 @@ if(wxBUILD_CUSTOM_SETUP_HEADER_PATH)
|
|||||||
set(wxSETUP_HEADER_PATH ${wxBUILD_CUSTOM_SETUP_HEADER_PATH})
|
set(wxSETUP_HEADER_PATH ${wxBUILD_CUSTOM_SETUP_HEADER_PATH})
|
||||||
else()
|
else()
|
||||||
# Set path where setup.h will be created
|
# Set path where setup.h will be created
|
||||||
if(MSVC OR MINGW)
|
if(MSVC)
|
||||||
if(wxUSE_UNICODE)
|
if(wxUSE_UNICODE)
|
||||||
set(lib_unicode u)
|
set(lib_unicode u)
|
||||||
else()
|
else()
|
||||||
|
@@ -12,27 +12,25 @@ if(NOT wxBUILD_INSTALL)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(CODE "message(STATUS \"Installing: Headers...\")")
|
install(CODE "message(STATUS \"Installing: Headers...\")")
|
||||||
if(UNIX)
|
if(MSVC)
|
||||||
wx_install(
|
|
||||||
DIRECTORY "${wxSOURCE_DIR}/include/wx"
|
|
||||||
DESTINATION "include/wx-${wxMAJOR_VERSION}.${wxMINOR_VERSION}")
|
|
||||||
else()
|
|
||||||
wx_install(
|
wx_install(
|
||||||
DIRECTORY "${wxSOURCE_DIR}/include/wx"
|
DIRECTORY "${wxSOURCE_DIR}/include/wx"
|
||||||
DESTINATION "include")
|
DESTINATION "include")
|
||||||
if(MSVC)
|
wx_install(
|
||||||
wx_install(
|
DIRECTORY "${wxSOURCE_DIR}/include/msvc"
|
||||||
DIRECTORY "${wxSOURCE_DIR}/include/msvc"
|
DESTINATION "include")
|
||||||
DESTINATION "include")
|
else()
|
||||||
endif()
|
wx_install(
|
||||||
|
DIRECTORY "${wxSOURCE_DIR}/include/wx"
|
||||||
|
DESTINATION "include/wx-${wxMAJOR_VERSION}.${wxMINOR_VERSION}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# setup header and wx-config
|
# setup header and wx-config
|
||||||
if(MSVC OR MINGW)
|
if(MSVC)
|
||||||
wx_install(
|
wx_install(
|
||||||
DIRECTORY "${wxSETUP_HEADER_PATH}"
|
DIRECTORY "${wxSETUP_HEADER_PATH}"
|
||||||
DESTINATION "lib${wxPLATFORM_LIB_DIR}")
|
DESTINATION "lib${wxPLATFORM_LIB_DIR}")
|
||||||
elseif(UNIX)
|
else()
|
||||||
wx_install(
|
wx_install(
|
||||||
DIRECTORY "${wxSETUP_HEADER_PATH}"
|
DIRECTORY "${wxSETUP_HEADER_PATH}"
|
||||||
DESTINATION "lib/wx/include")
|
DESTINATION "lib/wx/include")
|
||||||
|
@@ -37,7 +37,7 @@ if(NOT wxBUILD_CUSTOM_SETUP_HEADER_PATH)
|
|||||||
include(build/cmake/setup.cmake)
|
include(build/cmake/setup.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(UNIX)
|
if(NOT MSVC)
|
||||||
# Write wx-config
|
# Write wx-config
|
||||||
include(build/cmake/config.cmake)
|
include(build/cmake/config.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
@@ -50,14 +50,18 @@ endif()
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(wxBUILD_VENDOR "custom" CACHE STRING "Short string identifying your company (used in DLL name)")
|
set(wxBUILD_VENDOR "custom" CACHE STRING "Short string identifying your company (used in DLL name)")
|
||||||
endif()
|
endif()
|
||||||
|
set(wxBUILD_FLAVOUR "" CACHE STRING "Specify a name to identify the build")
|
||||||
|
mark_as_advanced(wxBUILD_FLAVOUR)
|
||||||
|
|
||||||
wx_option(wxBUILD_OPTIMISE "use speed-optimised C/C++ compiler flags for release build" OFF)
|
wx_option(wxBUILD_OPTIMISE "use speed-optimised C/C++ compiler flags for release build" OFF)
|
||||||
|
mark_as_advanced(wxBUILD_OPTIMISE)
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
set(wxBUILD_STRIPPED_RELEASE_DEFAULT OFF)
|
set(wxBUILD_STRIPPED_RELEASE_DEFAULT OFF)
|
||||||
else()
|
else()
|
||||||
set(wxBUILD_STRIPPED_RELEASE_DEFAULT ON)
|
set(wxBUILD_STRIPPED_RELEASE_DEFAULT ON)
|
||||||
endif()
|
endif()
|
||||||
wx_option(wxBUILD_STRIPPED_RELEASE "remove debug symbols in release build" ${wxBUILD_STRIPPED_RELEASE_DEFAULT})
|
wx_option(wxBUILD_STRIPPED_RELEASE "remove debug symbols in release build" ${wxBUILD_STRIPPED_RELEASE_DEFAULT})
|
||||||
|
mark_as_advanced(wxBUILD_STRIPPED_RELEASE)
|
||||||
wx_option(wxUSE_NO_RTTI "disable RTTI support" OFF)
|
wx_option(wxUSE_NO_RTTI "disable RTTI support" OFF)
|
||||||
|
|
||||||
# STL options
|
# STL options
|
||||||
|
@@ -21,17 +21,17 @@ if(wxUSE_XRC)
|
|||||||
set_target_properties(wxrc PROPERTIES FOLDER "Utilities")
|
set_target_properties(wxrc PROPERTIES FOLDER "Utilities")
|
||||||
|
|
||||||
wx_install(TARGETS wxrc RUNTIME DESTINATION "bin")
|
wx_install(TARGETS wxrc RUNTIME DESTINATION "bin")
|
||||||
if(UNIX)
|
if(NOT MSVC)
|
||||||
install(CODE "execute_process( \
|
install(CODE "execute_process( \
|
||||||
COMMAND ${CMAKE_COMMAND} -E rename \
|
COMMAND ${CMAKE_COMMAND} -E rename \
|
||||||
${CMAKE_INSTALL_PREFIX}/bin/wxrc \
|
${CMAKE_INSTALL_PREFIX}/bin/wxrc${CMAKE_EXECUTABLE_SUFFIX} \
|
||||||
${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION} \
|
${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${CMAKE_EXECUTABLE_SUFFIX} \
|
||||||
)"
|
)"
|
||||||
)
|
)
|
||||||
install(CODE "execute_process( \
|
install(CODE "execute_process( \
|
||||||
COMMAND ${CMAKE_COMMAND} -E create_symlink \
|
COMMAND ${CMAKE_COMMAND} -E create_symlink \
|
||||||
${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION} \
|
${CMAKE_INSTALL_PREFIX}/bin/wxrc-${wxMAJOR_VERSION}.${wxMINOR_VERSION}${CMAKE_EXECUTABLE_SUFFIX} \
|
||||||
${CMAKE_INSTALL_PREFIX}/bin/wxrc \
|
${CMAKE_INSTALL_PREFIX}/bin/wxrc${CMAKE_EXECUTABLE_SUFFIX} \
|
||||||
)"
|
)"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
Reference in New Issue
Block a user