Warning, /rolisteam/rolisteam/src/libraries/charactersheet/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.16)
0002 
0003 project(charactersheet VERSION 1.10.0 DESCRIPTION "Manage charactersheet")
0004 option(CHARACTERSHEET_TESTS "enable tests compilation" OFF)
0005 
0006 set(CMAKE_AUTOMOC ON)
0007 set(CMAKE_AUTOUIC ON)
0008 set(CMAKE_AUTORCC ON)
0009 
0010 set(QT_REQUIRED_VERSION "6.3.0")
0011 set(QT_VERSION_MAJOR "6")
0012 find_package(Qt${QT_VERSION_MAJOR} ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Core Test Gui Svg Qml Quick QuickWidgets WebEngineWidgets WebEngineCore)
0013 set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
0014 
0015 include_directories(${CMAKE_CURRENT_SOURCE_DIR} result node)
0016 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../)
0017 set(CMAKE_CXX_STANDARD 17)
0018 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0019 
0020 set(formula_src_dir ${CMAKE_CURRENT_SOURCE_DIR}/src/formula)
0021 
0022 set(formula_src
0023   # formula
0024   ${formula_src_dir}/formulamanager.cpp
0025   ${formula_src_dir}/parsingtoolformula.cpp
0026   ${formula_src_dir}/nodes/formulanode.cpp
0027   ${formula_src_dir}/nodes/operator.cpp
0028   ${formula_src_dir}/nodes/parenthesesfnode.cpp
0029   ${formula_src_dir}/nodes/scalaroperatorfnode.cpp
0030   ${formula_src_dir}/nodes/startnode.cpp
0031   ${formula_src_dir}/nodes/valuefnode.cpp)
0032 
0033 set(inc ${CMAKE_CURRENT_SOURCE_DIR}/include/charactersheet_formula)
0034 set(formula_header
0035   # formula
0036   ${inc}/formula_global.h
0037   ${inc}/formulamanager.h
0038   ${inc}/parsingtoolformula.h
0039   ${inc}/nodes/formulanode.h
0040   ${inc}/nodes/operator.h
0041   ${inc}/nodes/parenthesesfnode.h
0042   ${inc}/nodes/scalaroperatorfnode.h
0043   ${inc}/nodes/startnode.h
0044   ${inc}/nodes/valuefnode.h
0045   )
0046 
0047 add_library(charactersheet_formula SHARED ${formula_src} ${formula_header})
0048 target_link_libraries(charactersheet_formula PUBLIC Qt${QT_VERSION_MAJOR}::Core)
0049 set_target_properties(charactersheet_formula PROPERTIES PUBLIC_HEADER "${formula_header}")
0050 target_compile_definitions(charactersheet_formula PRIVATE CHARACTERSHEET_FORMULA_LIBRARY)
0051 target_include_directories(charactersheet_formula PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src/formula
0052     PUBLIC
0053     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
0054     $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
0055 #===========================================================
0056 
0057 set(inc_sheet ${CMAKE_CURRENT_SOURCE_DIR}/include/charactersheet)
0058 set(sheet_src_dir ${CMAKE_CURRENT_SOURCE_DIR}/src/charactersheet)
0059 
0060 SET(character_sources
0061     ${sheet_src_dir}/charactersheet.cpp
0062     ${sheet_src_dir}/charactersheetitem.cpp
0063     ${sheet_src_dir}/charactersheetmodel.cpp
0064     ${sheet_src_dir}/controllers/fieldcontroller.cpp
0065     ${sheet_src_dir}/controllers/sheetcontroller.cpp
0066     ${sheet_src_dir}/controllers/tablefield.cpp
0067     ${sheet_src_dir}/controllers/section.cpp
0068     ${sheet_src_dir}/controllers/slidercontroller.cpp
0069     ${sheet_src_dir}/csitem.cpp
0070     ${sheet_src_dir}/imagemodel.cpp
0071     ${sheet_src_dir}/rolisteamimageprovider.cpp
0072     ${sheet_src_dir}/worker/ioworker.cpp
0073     ${sheet_src_dir}/fieldfactory.cpp
0074 )
0075 
0076 
0077 
0078 SET(character_headers
0079   ${inc_sheet}/charactersheet_global.h
0080   ${inc_sheet}/charactersheetitem.h
0081   ${inc_sheet}/charactersheetmodel.h
0082   ${inc_sheet}/controllers/fieldcontroller.h
0083   ${inc_sheet}/controllers/section.h
0084   ${inc_sheet}/controllers/tablefield.h
0085   ${inc_sheet}/controllers/slidercontroller.h
0086   ${inc_sheet}/charactersheet.h
0087   ${inc_sheet}/imagemodel.h
0088   ${inc_sheet}/rolisteamimageprovider.h
0089   ${inc_sheet}/csitem.h
0090   ${inc_sheet}/worker/ioworker.h
0091   ${inc_sheet}/controllers/sheetcontroller.h
0092   ${inc_sheet}/abstractapplicationcontroller.h
0093   ${inc_sheet}/fieldfactory.h
0094 )
0095 
0096 
0097 
0098 set(qml_sources ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/CheckBoxField.qml
0099   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/CheckBoxFieldv1.qml
0100   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/DiceButton.qml
0101   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/DiceButtonv1.qml
0102   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/ImageField.qml
0103   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/ImageFieldv1.qml
0104   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/example.qml
0105   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/PageButton.qml
0106   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/RLabel.qml
0107   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/SelectField.qml
0108   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/SelectFieldv1.qml
0109   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/Table.qml
0110   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/TextAreaField.qml
0111   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/TextAreaFieldv1.qml
0112   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/TextFieldField.qml
0113   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/TextFieldFieldv1.qml
0114   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/TextInputField.qml
0115   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/TextInputFieldv1.qml
0116   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/WebView.qml
0117   ${CMAKE_CURRENT_SOURCE_DIR}/qml/Rolisteam/SliderField.qml
0118 )
0119 
0120 set(documentation Readme.md)
0121 set(charactersheet_QRC ${CMAKE_CURRENT_SOURCE_DIR}/qml/charactersheet.qrc)
0122 
0123 
0124 
0125 #qt_add_qml_module(charactersheet
0126 #    URI Rolisteam
0127 #    VERSION 1.1
0128 #    SOURCES
0129 #      ${qml_sources}
0130 #)
0131 #message(${character_sources})
0132 #message(${character_headers})
0133 #message(${qml_sources})
0134 #message(${documentation})
0135 #message(${charactersheet_QRC})
0136 
0137 add_library(charactersheet SHARED ${character_sources} ${character_headers} ${qml_sources}  ${documentation} ${charactersheet_QRC})
0138 
0139 qt_add_qml_module(charactersheet
0140     URI charactersheet
0141     VERSION 1.0
0142     SOURCES
0143       ${sheet_src_dir}/controllers/sheetcontroller.cpp
0144       ${inc_sheet}/controllers/sheetcontroller.h
0145       ${inc_sheet}/abstractapplicationcontroller.h
0146 )
0147 
0148 target_link_libraries(charactersheet PUBLIC Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Qml Qt${QT_VERSION_MAJOR}::Quick Qt${QT_VERSION_MAJOR}::QuickWidgets Qt${QT_VERSION_MAJOR}::WebEngineWidgets Qt${QT_VERSION_MAJOR}::WebEngineCore PRIVATE charactersheet_formula utils)
0149 set_target_properties(charactersheet PROPERTIES PUBLIC_HEADER "${character_headers}")
0150 target_compile_definitions(charactersheet PRIVATE CHARACTERSHEET_LIBRARY)
0151 target_include_directories(charactersheet
0152     PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
0153       ${CMAKE_CURRENT_SOURCE_DIR}/src
0154       $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/charactersheet>
0155       $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/charactersheet/controllers>
0156     PUBLIC
0157       $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
0158       $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
0159       $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
0160 
0161 #===========================================================
0162 
0163 set(inc_sheet ${CMAKE_CURRENT_SOURCE_DIR}/include/charactersheet_widgets)
0164 set(widget_src_dir ${CMAKE_CURRENT_SOURCE_DIR}/src/widget)
0165 
0166 set(header_widget ${inc_sheet}/charactersheet_widget_global.h
0167 ${inc_sheet}/sheetwidget.h)
0168 
0169 set(src_widget 
0170     ${widget_src_dir}/sheetwidget.cpp
0171 )
0172 
0173 
0174 
0175 add_library(charactersheet_widgets SHARED ${src_widget} ${header_widget} ${charactersheet_QRC})
0176 target_link_libraries(charactersheet_widgets PUBLIC Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Qml Qt${QT_VERSION_MAJOR}::Quick Qt${QT_VERSION_MAJOR}::QuickWidgets Qt${QT_VERSION_MAJOR}::WebEngineWidgets Qt${QT_VERSION_MAJOR}::WebEngineCore PRIVATE charactersheet)
0177 set_target_properties(charactersheet_widgets PROPERTIES PUBLIC_HEADER "${header_widget}")
0178 target_compile_definitions(charactersheet_widgets PRIVATE CHARACTERSHEET_WIDGET_LIBRARY)
0179 target_include_directories(charactersheet_widgets PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
0180     PUBLIC
0181     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
0182     $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
0183 
0184 include(install_helper)
0185 rinstallLib(charactersheet_formula libraries)
0186 rinstallLib(charactersheet_widgets libraries)
0187 rinstallLib(charactersheet libraries)