Changing it to a cmake interface
This commit is contained in:
parent
18a87550a7
commit
3dd28acbe9
1 changed files with 15 additions and 12 deletions
|
|
@ -54,21 +54,24 @@ elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
|
||||||
set(LINKER_OPTIMIZED_OPTIONS ${LINKER_OPTIMIZED_OPTIONS} -fdevirtualize-at-ltrans)
|
set(LINKER_OPTIMIZED_OPTIONS ${LINKER_OPTIMIZED_OPTIONS} -fdevirtualize-at-ltrans)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
add_library(${PROJECT_NAME} OBJECT
|
add_library(${PROJECT_NAME} INTERFACE)
|
||||||
|
target_sources(${PROJECT_NAME} PUBLIC
|
||||||
src/window.cpp
|
src/window.cpp
|
||||||
src/context_window.cpp
|
src/context_window.cpp
|
||||||
src/opengl_context.cpp
|
src/opengl_context.cpp
|
||||||
|
|
||||||
|
PUBLIC FILE_SET headers TYPE HEADERS BASE_DIRS include FILES
|
||||||
include/opengl_context.hpp
|
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_precompile_headers(${PROJECT_NAME} INTERFACE include/window.hpp include/basic_data.hpp include/context_window.hpp)
|
||||||
target_include_directories(${PROJECT_NAME}
|
target_include_directories(${PROJECT_NAME} INTERFACE $<INSTALL_INTERFACE:include/windowGlfwGlLib>)
|
||||||
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
target_compile_definitions(${PROJECT_NAME} INTERFACE GLFW_INCLUDE_NONE $<$<AND:$<CONFIG:Debug>,$<CXX_COMPILER_ID:GNU>>:_GLIBCXX_DEBUG>)
|
||||||
INTERFACE $<INSTALL_INTERFACE:include/windowGlfwGlLib>
|
target_compile_options(${PROJECT_NAME} INTERFACE ${COMPILE_FLAGS} $<$<CONFIG:Release>:${COMPILE_OPTIMIZED_FLAGS}>)
|
||||||
)
|
target_link_options(${PROJECT_NAME} INTERFACE ${LINKER_OPTIONS} $<$<CONFIG:Release>:${LINKER_OPTIMIZED_OPTIONS}>)
|
||||||
target_compile_definitions(${PROJECT_NAME} PUBLIC GLFW_INCLUDE_NONE PRIVATE $<$<AND:$<CONFIG:Debug>,$<CXX_COMPILER_ID:GNU>>:_GLIBCXX_DEBUG>)
|
target_link_libraries(${PROJECT_NAME} INTERFACE $<$<CONFIG:Release>:PkgConfig::Jemalloc> OpenGL::GL GLEW::GLEW glfw)
|
||||||
target_compile_options(${PROJECT_NAME} PUBLIC ${COMPILE_FLAGS} $<$<CONFIG:Release>:${COMPILE_OPTIMIZED_FLAGS}>)
|
|
||||||
target_link_options(${PROJECT_NAME} PUBLIC ${LINKER_OPTIONS} $<$<CONFIG:Release>:${LINKER_OPTIMIZED_OPTIONS}>)
|
|
||||||
target_link_libraries(${PROJECT_NAME} PUBLIC $<$<CONFIG:Release>:PkgConfig::Jemalloc> OpenGL::GL GLEW::GLEW glfw)
|
|
||||||
|
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 23 CXX_EXTENSIONS OFF UNITY_BUILD ON)
|
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 23 CXX_EXTENSIONS OFF UNITY_BUILD ON)
|
||||||
if (IS_IPO_SUPPORTED)
|
if (IS_IPO_SUPPORTED)
|
||||||
|
|
@ -77,7 +80,7 @@ else ()
|
||||||
message(WARNING "IPO is not supported: ${IPO_OUTPUT_VERBOSE}")
|
message(WARNING "IPO is not supported: ${IPO_OUTPUT_VERBOSE}")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
install(TARGETS ${PROJECT_NAME}
|
#[[install(TARGETS ${PROJECT_NAME}
|
||||||
EXPORT windowGlfwGlLibTargets
|
EXPORT windowGlfwGlLibTargets
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
|
@ -108,4 +111,4 @@ install(FILES
|
||||||
install(FILES
|
install(FILES
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/windowGlfwGlLibTargetsConfig.cmake"
|
"${CMAKE_CURRENT_BINARY_DIR}/windowGlfwGlLibTargetsConfig.cmake"
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/windowGlfwGlLibTargets
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/windowGlfwGlLibTargets
|
||||||
)
|
)]]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue