## CMake cmake_minimum_required(VERSION 3.14) if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Debug) endif() ## Project project(glbackend VERSION 1.0.0 LANGUAGES CXX ) ## Main target add_library(${PROJECT_NAME}) ## Variables set(GLBACKEND_DEPENDENCIES) set(GLBACKEND_DEFINITIONS) ## glfw find_package(glfw3) if(glfw3_FOUND) list(APPEND GLBACKEND_DEPENDENCIES glfw) list(APPEND GLBACKEND_DEFINITIONS GLBACKEND_GLFW) endif() ## sdl find_package(SDL2) if(SDL2_FOUND) list(APPEND GLBACKEND_DEPENDENCIES SDL2) list(APPEND GLBACKEND_DEFINITIONS GLBACKEND_SDL) endif() ## wxwidgets # https://cmake.org/cmake/help/v3.14/module/FindwxWidgets.html # https://cmake.org/cmake/help/v3.14/module/UsewxWidgets.html find_package(wxWidgets COMPONENTS gl core base) if(wxWidgets_FOUND) add_library(wxWidgets INTERFACE) set_target_properties(wxWidgets PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${wxWidgets_INCLUDE_DIRS}" INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${wxWidgets_INCLUDE_DIRS}" INTERFACE_LINK_DIRECTORIES "${wxWidgets_LIBRARY_DIRS}" INTERFACE_COMPILE_DEFINITIONS "${wxWidgets_DEFINITIONS}" INTERFACE_COMPILE_DEFINITIONS_DEBUG "${wxWidgets_DEFINITIONS_DEBUG}" INTERFACE_COMPILE_OPTIONS "${wxWidgets_CXX_FLAGS}" INTERFACE_LINK_LIBRARIES "${wxWidgets_LIBRARIES}" ) list(APPEND GLBACKEND_DEPENDENCIES wxWidgets) list(APPEND GLBACKEND_DEFINITIONS GLBACKEND_WXWIDGETS) endif() ## Common include(common.cmake) common( CXX_STANDARD 11 FETCHCONTENT https://git.rcrnstn.net/rcrnstn/glbase https://git.rcrnstn.net/rcrnstn/cxx-str DEPENDENCIES_PRIVATE glbase cxx-str ${GLBACKEND_DEPENDENCIES} DEPENDENCIES_TESTS glbase cxx-str ${GLBACKEND_DEPENDENCIES} DEFINITIONS ${GLBACKEND_DEFINITIONS} )