Warning, /rolisteam/rolisteam-diceparser/src/libparser/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 set(QT_REQUIRED_VERSION "6.2.0") 0004 set(QT_VERSION_MAJOR "6") 0005 find_package(Qt${QT_VERSION_MAJOR} ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Core Test Gui Svg) 0006 find_package(Qt${QT_VERSION_MAJOR} ${QT_REQUIRED_VERSION} CONFIG COMPONENTS Qml Concurrent) 0007 0008 include_directories(${CMAKE_CURRENT_SOURCE_DIR} result node) 0009 0010 set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) 0011 0012 set(dice_header_path include/diceparser) 0013 0014 set(dice_public_headers ${dice_header_path}/diceparser_global.h 0015 ${dice_header_path}/dicealias.h 0016 ${dice_header_path}/diceparser.h 0017 ${dice_header_path}/diceparserhelper.h 0018 ${dice_header_path}/highlightdice.h 0019 ${dice_header_path}/parsingtoolbox.h # should not be public… 0020 ) 0021 0022 0023 SET( dice_sources 0024 ${CMAKE_CURRENT_SOURCE_DIR}/diceparser.cpp 0025 ${CMAKE_CURRENT_SOURCE_DIR}/range.cpp 0026 ${CMAKE_CURRENT_SOURCE_DIR}/booleancondition.cpp 0027 ${CMAKE_CURRENT_SOURCE_DIR}/validator.cpp 0028 ${CMAKE_CURRENT_SOURCE_DIR}/validatorlist.cpp 0029 ${CMAKE_CURRENT_SOURCE_DIR}/operationcondition.cpp 0030 ${CMAKE_CURRENT_SOURCE_DIR}/die.cpp 0031 ${CMAKE_CURRENT_SOURCE_DIR}/parsingtoolbox.cpp 0032 ${CMAKE_CURRENT_SOURCE_DIR}/dicealias.cpp 0033 ${CMAKE_CURRENT_SOURCE_DIR}/result/result.cpp 0034 ${CMAKE_CURRENT_SOURCE_DIR}/result/scalarresult.cpp 0035 ${CMAKE_CURRENT_SOURCE_DIR}/result/stringresult.cpp 0036 ${CMAKE_CURRENT_SOURCE_DIR}/result/diceresult.cpp 0037 ${CMAKE_CURRENT_SOURCE_DIR}/node/countexecutenode.cpp 0038 ${CMAKE_CURRENT_SOURCE_DIR}/node/dicerollernode.cpp 0039 ${CMAKE_CURRENT_SOURCE_DIR}/node/executionnode.cpp 0040 ${CMAKE_CURRENT_SOURCE_DIR}/node/explodedicenode.cpp 0041 ${CMAKE_CURRENT_SOURCE_DIR}/node/helpnode.cpp 0042 ${CMAKE_CURRENT_SOURCE_DIR}/node/allsamenode.cpp 0043 ${CMAKE_CURRENT_SOURCE_DIR}/node/mergenode.cpp 0044 ${CMAKE_CURRENT_SOURCE_DIR}/node/jumpbackwardnode.cpp 0045 ${CMAKE_CURRENT_SOURCE_DIR}/node/keepdiceexecnode.cpp 0046 ${CMAKE_CURRENT_SOURCE_DIR}/node/listaliasnode.cpp 0047 ${CMAKE_CURRENT_SOURCE_DIR}/node/listsetrollnode.cpp 0048 ${CMAKE_CURRENT_SOURCE_DIR}/node/numbernode.cpp 0049 ${CMAKE_CURRENT_SOURCE_DIR}/node/parenthesesnode.cpp 0050 ${CMAKE_CURRENT_SOURCE_DIR}/node/paintnode.cpp 0051 ${CMAKE_CURRENT_SOURCE_DIR}/node/rerolldicenode.cpp 0052 ${CMAKE_CURRENT_SOURCE_DIR}/node/scalaroperatornode.cpp 0053 ${CMAKE_CURRENT_SOURCE_DIR}/node/sortresult.cpp 0054 ${CMAKE_CURRENT_SOURCE_DIR}/node/startingnode.cpp 0055 ${CMAKE_CURRENT_SOURCE_DIR}/node/filternode.cpp 0056 ${CMAKE_CURRENT_SOURCE_DIR}/node/stringnode.cpp 0057 ${CMAKE_CURRENT_SOURCE_DIR}/node/ifnode.cpp 0058 ${CMAKE_CURRENT_SOURCE_DIR}/node/splitnode.cpp 0059 ${CMAKE_CURRENT_SOURCE_DIR}/node/groupnode.cpp 0060 ${CMAKE_CURRENT_SOURCE_DIR}/node/bind.cpp 0061 ${CMAKE_CURRENT_SOURCE_DIR}/node/occurencecountnode.cpp 0062 ${CMAKE_CURRENT_SOURCE_DIR}/node/uniquenode.cpp 0063 ${CMAKE_CURRENT_SOURCE_DIR}/highlightdice.cpp 0064 ${CMAKE_CURRENT_SOURCE_DIR}/node/variablenode.cpp 0065 ${CMAKE_CURRENT_SOURCE_DIR}/node/valueslistnode.cpp 0066 ${CMAKE_CURRENT_SOURCE_DIR}/node/repeaternode.cpp 0067 ${CMAKE_CURRENT_SOURCE_DIR}/node/switchcasenode.cpp 0068 ${CMAKE_CURRENT_SOURCE_DIR}/node/replacevaluenode.cpp 0069 ) 0070 0071 include(install_helper OPTIONAL RESULT_VARIABLE installFound) 0072 0073 if(installFound STREQUAL "NOTFOUND") 0074 set(HAS_INSTALL OFF) 0075 else() 0076 set(HAS_INSTALL ON) 0077 endif() 0078 0079 IF(STATIC_BUILD) 0080 set_target_properties(diceparser_static PROPERTIES OUTPUT_NAME diceparser CLEAN_DIRECT_OUTPUT 1) 0081 add_library(diceparser_static STATIC ${dice_sources} ) 0082 target_include_directories(diceparser_static PRIVATE include) 0083 target_link_libraries(diceparser_static PUBLIC Qt6::Core Qt6::Gui Qt6::Svg) 0084 if(${HAS_INSTALL}) 0085 rinstallLib(diceparser_static libraries) 0086 endif() 0087 endif() 0088 0089 add_library(diceparser_shared SHARED ${dice_sources} ${dice_public_headers}) 0090 set_target_properties(diceparser_shared PROPERTIES PUBLIC_HEADER "${public_header_widget}") 0091 target_compile_definitions(diceparser_shared PRIVATE DICEPARSER_LIBRARY) 0092 0093 target_include_directories(diceparser_shared 0094 PRIVATE 0095 ${CMAKE_CURRENT_SOURCE_DIR} 0096 ${CMAKE_CURRENT_SOURCE_DIR}/include 0097 ${CMAKE_CURRENT_SOURCE_DIR}/node 0098 ${CMAKE_CURRENT_SOURCE_DIR}/result 0099 PUBLIC 0100 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> 0101 $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) 0102 0103 0104 target_link_libraries(diceparser_shared PUBLIC Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Svg) 0105 set_target_properties(diceparser_shared PROPERTIES VERSION ${PROJECT_VERSION}) 0106 set_target_properties(diceparser_shared PROPERTIES SOVERSION 1) 0107 0108 0109 #include(GNUInstallDirs) 0110 0111 0112 configure_file(diceparser.pc.in diceparser.pc @ONLY) 0113 0114 if(${HAS_INSTALL}) 0115 rinstallLib(diceparser_shared libraries) 0116 else() 0117 install(TARGETS diceparser_shared LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) 0118 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/diceparser.pc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig) 0119 endif() 0120 0121 if(Qt${QT_VERSION_MAJOR}Qml_FOUND) 0122 message(STATUT "qml found") 0123 set(dice_header_qobject include/diceparser_qobject/diceparser_qobject_global.h include/diceparser_qobject/qmltypesregister.h include/diceparser_qobject/diceroller.h) 0124 set(dice_source_qobject qmltypesregister.cpp diceroller.cpp) 0125 set(CMAKE_AUTOMOC ON) 0126 set(CMAKE_AUTOUIC ON) 0127 set(CMAKE_AUTORCC ON) 0128 set(CMAKE_INCLUDE_CURRENT_DIR ON) 0129 add_library(diceparser_qobject SHARED ${dice_header_qobject} ${dice_source_qobject}) 0130 set_target_properties(diceparser_qobject PROPERTIES PUBLIC_HEADER "${dice_header_qobject}") 0131 target_compile_definitions(diceparser_qobject PRIVATE DICEPARSER_QOBJECT_LIBRARY) 0132 target_link_libraries(diceparser_qobject PUBLIC Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Svg Qt${QT_VERSION_MAJOR}::Qml Qt${QT_VERSION_MAJOR}::Concurrent PRIVATE diceparser_shared) 0133 set_target_properties(diceparser_qobject PROPERTIES VERSION ${PROJECT_VERSION}) 0134 set_target_properties(diceparser_qobject PROPERTIES SOVERSION 1) 0135 0136 target_include_directories(diceparser_qobject 0137 PRIVATE 0138 ${CMAKE_CURRENT_SOURCE_DIR} 0139 ${CMAKE_CURRENT_SOURCE_DIR}/include 0140 PUBLIC 0141 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> 0142 $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) 0143 0144 0145 if(${HAS_INSTALL}) 0146 message(STATUT "Normal install " ${HAS_INSTALL}) 0147 rinstallLib(diceparser_qobject libraries) 0148 else() 0149 message(STATUT "Degraded install" ${HAS_INSTALL}) 0150 install(TARGETS diceparser_qobject LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) 0151 endif() 0152 endif() 0153 0154 0155