086ad7bc9a
The minimal sample doesn't have an implicit deployment target set, while the library does through CMakeLists.txt in root. This can result in iOS link errors when not explicitly setting CMAKE_OSX_DEPLOYMENT_TARGET as the sample will then use a target OS with an architecture that may not be present in the library with its current target OS version. Fix by copying the part setting CMAKE_OSX_DEPLOYMENT_TARGET in the library to the minimal sample as well. Both parts should be kept in sync but that still seemed preferable to additionally polluting an example file for CMake usage with a dependency by introducing a common include file.
64 lines
2.1 KiB
CMake
64 lines
2.1 KiB
CMake
#############################################################################
|
|
# Name: samples/minimal/CMakeListst.txt
|
|
# Purpose: Sample CMake file to show usage of cmake for wxWidgets users
|
|
# Author: Tobias Taschner
|
|
# Created: 2016-10-23
|
|
# Copyright: (c) 2016 wxWidgets development team
|
|
# Licence: wxWindows licence
|
|
#############################################################################
|
|
|
|
#
|
|
# This file is just a sample to show using cmake from an application
|
|
# If you want to build the minimal and other samples please use the
|
|
# wxBUILD_SAMPLES option when using cmake on the library
|
|
#
|
|
|
|
# Declare the minimum required CMake version
|
|
cmake_minimum_required(VERSION 2.8.12)
|
|
|
|
if(APPLE AND NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
|
# If no deployment target has been set default to the minimum supported
|
|
# OS version (this has to be set before the first project() call)
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "iOS")
|
|
set(CMAKE_OSX_DEPLOYMENT_TARGET 12.0 CACHE STRING "iOS Deployment Target")
|
|
else()
|
|
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.10 CACHE STRING "macOS Deployment Target")
|
|
endif()
|
|
endif()
|
|
|
|
# Name the project
|
|
project(minimal)
|
|
|
|
# Request the required wxWidgets libs
|
|
find_package(wxWidgets 3.1 COMPONENTS core base REQUIRED)
|
|
|
|
# Include the wxWidgets use file to initialize various settings
|
|
include(${wxWidgets_USE_FILE})
|
|
|
|
# Define a variable containing a list of source files for the project
|
|
set(SRC_FILES
|
|
minimal.cpp
|
|
)
|
|
|
|
if(WIN32)
|
|
# Include a RC file for windows
|
|
list(APPEND SRC_FILES ../sample.rc)
|
|
elseif(APPLE)
|
|
# Add an icon for the apple .app file
|
|
list(APPEND SRC_FILES ../../src/osx/carbon/wxmac.icns)
|
|
endif()
|
|
|
|
# Define the build target for the executable
|
|
add_executable(${PROJECT_NAME} WIN32 MACOSX_BUNDLE ${SRC_FILES})
|
|
# Link required libraries to the executable
|
|
target_link_libraries(${PROJECT_NAME} ${wxWidgets_LIBRARIES})
|
|
|
|
if(APPLE)
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
|
RESOURCE "../../src/osx/carbon/wxmac.icns"
|
|
MACOSX_BUNDLE_ICON_FILE wxmac.icns
|
|
MACOSX_BUNDLE_COPYRIGHT "Copyright wxWidgets"
|
|
MACOSX_BUNDLE_GUI_IDENTIFIER "org.wxwidgets.minimal"
|
|
)
|
|
endif()
|