From 7019db226e0a9a2de9e4663d0703b279eaa53fac Mon Sep 17 00:00:00 2001 From: Pcornat Date: Wed, 7 Jan 2026 22:27:54 +0100 Subject: [PATCH] Changing it to a cmake interface --- CMakeLists.txt | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2385174..8f0ac89 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,21 +54,24 @@ elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") set(LINKER_OPTIMIZED_OPTIONS ${LINKER_OPTIMIZED_OPTIONS} -fdevirtualize-at-ltrans) endif () -add_library(${PROJECT_NAME} OBJECT +add_library(${PROJECT_NAME} INTERFACE) +target_sources(${PROJECT_NAME} PUBLIC src/window.cpp src/context_window.cpp src/opengl_context.cpp + + PUBLIC FILE_SET headers TYPE HEADERS BASE_DIRS include FILES include/opengl_context.hpp + include/context_window.hpp + include/basic_data.hpp + include/window.hpp ) -target_precompile_headers(${PROJECT_NAME} PUBLIC include/window.hpp include/basic_data.hpp include/context_window.hpp) -target_include_directories(${PROJECT_NAME} - PUBLIC $ - INTERFACE $ -) -target_compile_definitions(${PROJECT_NAME} PUBLIC GLFW_INCLUDE_NONE PRIVATE $<$,$>:_GLIBCXX_DEBUG>) -target_compile_options(${PROJECT_NAME} PUBLIC ${COMPILE_FLAGS} $<$:${COMPILE_OPTIMIZED_FLAGS}>) -target_link_options(${PROJECT_NAME} PUBLIC ${LINKER_OPTIONS} $<$:${LINKER_OPTIMIZED_OPTIONS}>) -target_link_libraries(${PROJECT_NAME} PUBLIC $<$:PkgConfig::Jemalloc> OpenGL::GL GLEW::GLEW glfw) +target_precompile_headers(${PROJECT_NAME} INTERFACE include/window.hpp include/basic_data.hpp include/context_window.hpp) +target_include_directories(${PROJECT_NAME} INTERFACE $) +target_compile_definitions(${PROJECT_NAME} INTERFACE GLFW_INCLUDE_NONE $<$,$>:_GLIBCXX_DEBUG>) +target_compile_options(${PROJECT_NAME} INTERFACE ${COMPILE_FLAGS} $<$:${COMPILE_OPTIMIZED_FLAGS}>) +target_link_options(${PROJECT_NAME} INTERFACE ${LINKER_OPTIONS} $<$:${LINKER_OPTIMIZED_OPTIONS}>) +target_link_libraries(${PROJECT_NAME} INTERFACE $<$:PkgConfig::Jemalloc> OpenGL::GL GLEW::GLEW glfw) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 23 CXX_EXTENSIONS OFF UNITY_BUILD ON) if (IS_IPO_SUPPORTED) @@ -77,7 +80,7 @@ else () message(WARNING "IPO is not supported: ${IPO_OUTPUT_VERBOSE}") endif () -install(TARGETS ${PROJECT_NAME} +#[[install(TARGETS ${PROJECT_NAME} EXPORT windowGlfwGlLibTargets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} @@ -108,4 +111,4 @@ install(FILES install(FILES "${CMAKE_CURRENT_BINARY_DIR}/windowGlfwGlLibTargetsConfig.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/windowGlfwGlLibTargets -) +)]]