76 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
#############################################################################
 | 
						|
# Name:        build/cmake/main.cmake
 | 
						|
# Purpose:     Main CMake file
 | 
						|
# Author:      Tobias Taschner
 | 
						|
# Created:     2016-09-20
 | 
						|
# Copyright:   (c) 2016 wxWidgets development team
 | 
						|
# Licence:     wxWindows licence
 | 
						|
#############################################################################
 | 
						|
 | 
						|
list(APPEND CMAKE_MODULE_PATH "${wxSOURCE_DIR}/build/cmake/modules")
 | 
						|
 | 
						|
include(build/cmake/files.cmake)            # Files list
 | 
						|
include(build/cmake/functions.cmake)        # wxWidgets functions
 | 
						|
include(build/cmake/toolkit.cmake)          # Platform/toolkit settings
 | 
						|
include(build/cmake/options.cmake)          # User options
 | 
						|
include(build/cmake/init.cmake)             # Init various global build vars
 | 
						|
include(build/cmake/install.cmake)          # Install target support
 | 
						|
 | 
						|
add_subdirectory(build/cmake/lib libs)
 | 
						|
add_subdirectory(build/cmake/utils utils)
 | 
						|
 | 
						|
if(wxBUILD_SAMPLES)
 | 
						|
    add_subdirectory(build/cmake/samples samples)
 | 
						|
endif()
 | 
						|
 | 
						|
if(wxBUILD_TESTS)
 | 
						|
    enable_testing()
 | 
						|
    add_subdirectory(build/cmake/tests tests)
 | 
						|
endif()
 | 
						|
 | 
						|
if(wxBUILD_DEMOS)
 | 
						|
    add_subdirectory(build/cmake/demos demos)
 | 
						|
endif()
 | 
						|
 | 
						|
if(NOT wxBUILD_CUSTOM_SETUP_HEADER_PATH)
 | 
						|
    # Write setup.h after all variables are available
 | 
						|
    include(build/cmake/setup.cmake)
 | 
						|
endif()
 | 
						|
 | 
						|
if(NOT MSVC)
 | 
						|
    # Write wx-config
 | 
						|
    include(build/cmake/config.cmake)
 | 
						|
endif()
 | 
						|
 | 
						|
# Determine minimum required OS at runtime
 | 
						|
set(wxREQUIRED_OS_DESC "${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_PROCESSOR}")
 | 
						|
if(MSVC OR MINGW OR CYGWIN)
 | 
						|
    # Determine based on used toolkit
 | 
						|
    if(MINGW OR CYGWIN OR (MSVC_VERSION LESS 1700) OR (CMAKE_VS_PLATFORM_TOOLSET MATCHES "_xp$") )
 | 
						|
        # Visual Studio < 2012 and MinGW always create XP compatible binaries
 | 
						|
        # XP Toolset is required since VS 2012
 | 
						|
        set(wxREQUIRED_OS_DESC "Windows XP / Windows Server 2003")
 | 
						|
    else()
 | 
						|
        set(wxREQUIRED_OS_DESC "Windows Vista / Windows Server 2008")
 | 
						|
    endif()
 | 
						|
    if(CMAKE_SIZEOF_VOID_P EQUAL 8)
 | 
						|
        wx_string_append(wxREQUIRED_OS_DESC " (x64 Edition)")
 | 
						|
    endif()
 | 
						|
elseif(APPLE AND NOT IPHONE)
 | 
						|
    if(DEFINED CMAKE_OSX_DEPLOYMENT_TARGET)
 | 
						|
        set(wxREQUIRED_OS_DESC "macOS ${CMAKE_OSX_DEPLOYMENT_TARGET}")
 | 
						|
    endif()
 | 
						|
endif()
 | 
						|
 | 
						|
# Print configuration summary
 | 
						|
wx_print_thirdparty_library_summary()
 | 
						|
 | 
						|
message(STATUS "Configured wxWidgets ${wxVERSION} for ${CMAKE_SYSTEM}
 | 
						|
    Min OS Version required at runtime:                ${wxREQUIRED_OS_DESC}
 | 
						|
    Which GUI toolkit should wxWidgets use?            ${wxBUILD_TOOLKIT} ${wxTOOLKIT_VERSION}
 | 
						|
    Should wxWidgets be compiled into single library?  ${wxBUILD_MONOLITHIC}
 | 
						|
    Should wxWidgets be linked as a shared library?    ${wxBUILD_SHARED}
 | 
						|
    Should wxWidgets support Unicode?                  ${wxUSE_UNICODE}
 | 
						|
    What wxWidgets compatibility level should be used? ${wxBUILD_COMPATIBILITY}"
 | 
						|
    )
 |