d71f4168fb
* logger business * code review * rm c-style array * extract image rendering to view * missing view files * init view abstractions * leverage concepts and provide a templateized Enumerate function * RVO * get rid of some warnings * logger business * code review * rm c-style array * extract image rendering to view * missing view files * init view abstractions * leverage concepts and provide a templateized Enumerate function * RVO * get rid of some warnings * logger business * code review * rm c-style array * init view abstractions * leverage concepts and provide a templateized Enumerate function * RVO * get rid of some warnings * logger business * code review * rm c-style array * init view abstractions * leverage concepts and provide a templateized Enumerate function * RVO * get rid of some warnings * Factor out AppGLFW base class The intention here is to get rid of scaffolding in the consumer application class and allow to focus on the "important bits". * Some cleanup * dump unnecessary dependency * link stuff where needed & use only what's needed * remove deprecation warnings * add gallery toggle * make some includes private * add presets * remove dir locals, use presets instead `projectile-configure-project' in conjunction with CMakePresets.json will allow to configure the project. `projectile-compile-project' does sth similar for the compile command. This is equivalent to something like ~cmake --preset clang-debug && cmake --build build --preset clang-debug~ * use presets in pipeline --------- Co-authored-by: m-aXimilian <keuffnermax@gmail.com>
45 lines
1.1 KiB
CMake
45 lines
1.1 KiB
CMake
set(PIXELARIUM_TITLE ${CMAKE_PROJECT_NAME})
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/app_resources_default.h.in
|
|
${CMAKE_BINARY_DIR}/app_resources_default.h @ONLY)
|
|
|
|
set(APPLIBSRC
|
|
AppGLFW.cpp
|
|
${imgui_DIR}/imgui.cpp
|
|
${imgui_DIR}/imgui_demo.cpp
|
|
${imgui_DIR}/imgui_draw.cpp
|
|
${imgui_DIR}/imgui_tables.cpp
|
|
${imgui_DIR}/imgui_widgets.cpp
|
|
${imgui_DIR}/backends/imgui_impl_opengl3.cpp
|
|
${imgui_DIR}/backends/imgui_impl_glfw.cpp)
|
|
|
|
set(APPLIBNAME pixelariumapplicationlib)
|
|
|
|
add_library(${APPLIBNAME}
|
|
STATIC ${APPLIBSRC})
|
|
|
|
target_link_libraries(${APPLIBNAME}
|
|
PRIVATE pixelariumutilslib)
|
|
|
|
# This needs to be public to let the consumer know about it.
|
|
if(WIN32)
|
|
target_link_libraries(${APPLIBNAME}
|
|
PUBLIC opengl32.lib
|
|
PUBLIC glfw
|
|
PUBLIC OpenGL::GL)
|
|
endif()
|
|
if(LINUX)
|
|
target_link_libraries(${APPLIBNAME}
|
|
PUBLIC glfw GL)
|
|
endif()
|
|
if(APPLE)
|
|
target_link_libraries(${APPLIBNAME}
|
|
PUBLIC glfw
|
|
PUBLIC "-framework OpenGL")
|
|
endif()
|
|
|
|
target_include_directories(${APPLIBNAME}
|
|
PRIVATE ${CMAKE_BINARY_DIR}
|
|
PRIVATE ${PROJECT_SOURCE_DIR}/lib
|
|
PUBLIC ${imgui_DIR}
|
|
PUBLIC ${imgui_DIR}/backends)
|