dotherside/lib/CMakeLists.txt

79 lines
2.1 KiB
CMake
Raw Normal View History

project(DOtherSide)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
if (WIN32)
add_definitions(-DWIN32)
endif()
2019-11-17 23:37:45 +01:00
find_package(Qt5 COMPONENTS Core Qml Gui Quick QuickControls2 Widgets)
set(HEADERS_LIST
include/DOtherSide/DOtherSideTypes.h
include/DOtherSide/DOtherSideTypesCpp.h
include/DOtherSide/DOtherSide.h
include/DOtherSide/DosQDeclarative.h
2016-01-24 22:03:12 +01:00
include/DOtherSide/DosQObjectWrapper.h
include/DOtherSide/DosQAbstractItemModelWrapper.h
include/DOtherSide/DosQObject.h
include/DOtherSide/DosQObjectImpl.h
2016-01-23 18:40:17 +01:00
include/DOtherSide/DosIQObjectImpl.h
include/DOtherSide/DosQMetaObject.h
include/DOtherSide/DosIQAbstractItemModelImpl.h
include/DOtherSide/DosQAbstractItemModel.h
include/DOtherSide/Utils.h
)
2016-01-02 16:48:16 +01:00
set(SRC_LIST
src/DOtherSide.cpp
src/DosQMetaObject.cpp
src/DosQDeclarative.cpp
src/DosQObject.cpp
src/DOtherSideTypesCpp.cpp
src/DosQObjectImpl.cpp
src/DosQAbstractItemModel.cpp
src/DosQQuickImageProvider.cpp
2019-11-17 23:37:45 +01:00
)
include_directories(include include/Qt)
set(major 0)
set(minor 6)
set(patch 4)
# Shared version for distributing
add_library(${PROJECT_NAME} SHARED ${SRC_LIST} ${HEADERS_LIST})
2019-11-17 23:37:45 +01:00
set_target_properties(${PROJECT_NAME}
PROPERTIES
CXX_STANDARD 11
SOVERSION "${major}.${minor}"
VERSION "${major}.${minor}.${patch}"
)
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Qml Qt5::Quick)
if(${Qt5QuickControls2_FOUND})
target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::QuickControls2)
endif()
# Static version for testing
add_library("${PROJECT_NAME}Static" STATIC ${SRC_LIST} ${HEADERS_LIST})
set_property(TARGET "${PROJECT_NAME}Static" PROPERTY CXX_STANDARD 11)
target_link_libraries("${PROJECT_NAME}Static" PRIVATE Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Qml Qt5::Quick)
if(${Qt5QuickControls2_FOUND})
target_link_libraries("${PROJECT_NAME}Static" PRIVATE Qt5::QuickControls2)
endif()
# Install directive for header files
install(FILES
include/DOtherSide/DOtherSide.h
include/DOtherSide/DOtherSideTypes.h
DESTINATION include/DOtherSide)
# Install directive for binaries
install(TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
)