qtk/src/qtk/CMakeLists.txt

102 lines
2.6 KiB
CMake
Raw Normal View History

################################################################################
## Project for working with OpenGL and Qt6 widgets ##
2023-01-02 03:26:58 +00:00
## ##
## Author: Shaun Reed | Contact: shaunrd0@gmail.com | URL: www.shaunreed.com ##
## All Content (c) 2023 Shaun Reed, all rights reserved ##
################################################################################
################################################################################
# Qtk Library
################################################################################
2023-01-03 03:18:53 +00:00
set(
QTK_LIBRARY_PUBLIC_HEADERS
camera3d.h
input.h
meshrenderer.h
model.h
2023-01-02 03:26:58 +00:00
modelmesh.h
object.h
qtkapi.h
2023-01-15 21:04:48 +00:00
qtkiostream.h
qtkiosystem.h
scene.h
2023-01-15 21:04:48 +00:00
shape.h
skybox.h
texture.h
transform3D.h
)
2023-01-03 03:18:53 +00:00
set(
QTK_LIBRARY_SOURCES
camera3d.cpp
input.cpp
meshrenderer.cpp
model.cpp
2023-01-02 03:26:58 +00:00
modelmesh.cpp
object.cpp
2023-01-15 21:04:48 +00:00
qtkiostream.cpp
qtkiosystem.cpp
scene.cpp
2023-01-15 21:04:48 +00:00
shape.cpp
skybox.cpp
texture.cpp
transform3D.cpp
)
2023-01-15 21:04:48 +00:00
qt6_add_big_resources(QTK_LIBRARY_SOURCES "${QTK_RESOURCES}/resources.qrc")
qt_add_library(qtk_library STATIC)
target_sources(qtk_library PRIVATE ${QTK_LIBRARY_SOURCES})
2023-01-03 03:18:53 +00:00
target_sources(
qtk_library PUBLIC
FILE_SET HEADERS
2023-01-17 00:34:50 +00:00
BASE_DIRS $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src>
BASE_DIRS $<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>
2023-01-03 03:18:53 +00:00
FILES ${QTK_LIBRARY_PUBLIC_HEADERS}
)
if(QTK_DEBUG)
target_compile_definitions(qtk_library PUBLIC QTK_DEBUG)
endif()
2023-01-03 03:18:53 +00:00
set_target_properties(
qtk_library PROPERTIES
2023-01-14 21:33:06 +00:00
VERSION ${PROJECT_VERSION}
)
2023-01-03 03:18:53 +00:00
target_link_libraries(
qtk_library PUBLIC
Qt6::Core Qt6::OpenGLWidgets Qt6::Widgets
)
if(QTK_UPDATE_SUBMODULES OR NOT ASSIMP_NEW_INTERFACE)
target_link_libraries(qtk_library PUBLIC assimp)
elseif(ASSIMP_NEW_INTERFACE)
target_link_libraries(qtk_library PUBLIC assimp::assimp)
endif()
if(WIN32)
target_link_libraries(qtk_library PUBLIC OpenGL::GL)
endif()
# System install for qtk_library
2023-01-03 03:18:53 +00:00
install(
TARGETS qtk_library
# Associate qtk_library target with qtk-export
EXPORT qtk_export
2023-01-29 03:25:37 +00:00
COMPONENT libqtk
2023-01-03 03:18:53 +00:00
FILE_SET HEADERS DESTINATION include
2023-01-17 00:34:50 +00:00
INCLUDES DESTINATION include
2023-01-03 03:18:53 +00:00
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib/static
RUNTIME DESTINATION bin
)
## Install qtk_library to Qt Designer to support widget plugins.
2023-01-21 13:01:13 +00:00
#install(
# TARGETS qtk_library
# EXCLUDE_FROM_ALL
# LIBRARY DESTINATION "${QTK_PLUGIN_LIBRARY_DIR}"
# ARCHIVE DESTINATION "${QTK_PLUGIN_LIBRARY_DIR}"
# RUNTIME DESTINATION "${QTK_PLUGIN_LIBRARY_DIR}"
#)