cmake_minimum_required(VERSION 3.22) project(pd-desktop LANGUAGES CXX VERSION 0.5.0) set(PD_GL_VERSION 21 CACHE STRING "OpenGL Version (2.1 -> 21, 3.3 -> 33)") if(APPLE) set(PD_GL_VERSION 33 CACHE STRING "33" FORCE) endif() message("Using OpenGL: " ${PD_GL_VERSION}) add_subdirectory(glad) add_subdirectory(glfw) set(SRC source/bknd-gfx.cpp source/bknd-hid.cpp source/pd-desktop.cpp ) add_library(pd-desktop STATIC ${SRC}) target_include_directories(pd-desktop PUBLIC $ $ ) target_link_libraries(pd-desktop PUBLIC palladium glad glfw) target_compile_definitions(pd-desktop PRIVATE PD_OPENGL=${PD_GL_VERSION} ) add_library(palladium::pd-desktop ALIAS pd-desktop) install(TARGETS pd-desktop EXPORT palladiumTargets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) install(TARGETS glad EXPORT palladiumTargets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) if(PD_BUNDLE_GLFW) install(TARGETS glfw EXPORT palladiumTargets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) endif()