diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 054308d7..90fec924 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -11,10 +11,10 @@ add_subdirectory(iotdashboard) #qml -#add_subdirectory(boxes) -#add_subdirectory(buttons) -#add_subdirectory(frames) -#add_subdirectory(glabels) -#add_subdirectory(messageboxQml) +add_subdirectory(boxes) +add_subdirectory(buttons) +add_subdirectory(frames) +add_subdirectory(glabels) +add_subdirectory(messageboxQml) # TODO \ No newline at end of file diff --git a/examples/boxes/CMakeLists.txt b/examples/boxes/CMakeLists.txt index a76dd06a..3c200e19 100644 --- a/examples/boxes/CMakeLists.txt +++ b/examples/boxes/CMakeLists.txt @@ -1,8 +1,20 @@ -CONFIG += qskexample - list(APPEND TARGET_HEADERS - Box.h + Box.h) list(APPEND TARGET_SOURCES Box.cpp - main.cpp + main.cpp) + +set(TARGET_NAME boxes) + +add_executable(${TARGET_NAME} ${TARGET_SOURCES} ${TARGET_HEADERS}) + +set_target_properties(${TARGET_NAME} + PROPERTIES + AUTOMOC ON + FOLDER examples) + +target_link_libraries(${TARGET_NAME} + PRIVATE + qskinny + qsktestsupport) \ No newline at end of file diff --git a/examples/buttons/CMakeLists.txt b/examples/buttons/CMakeLists.txt index 6903a5ff..dcf81117 100644 --- a/examples/buttons/CMakeLists.txt +++ b/examples/buttons/CMakeLists.txt @@ -1,5 +1,21 @@ -CONFIG += qskexample qskqmlexport +list(APPEND TARGET_RESSOURCES + buttons.qrc) -list(APPEND TARGET_RESSOURCES buttons.qrc) +list(APPEND TARGET_SOURCES + main.cpp) - list(APPEND TARGET_SOURCES main.cpp) +set(TARGET_NAME buttons) + +add_executable(${TARGET_NAME} ${TARGET_SOURCES} ${TARGET_RESSOURCES}) + +target_link_libraries(${TARGET_NAME} + PRIVATE + qskinny + qsktestsupport + qskqmlexport) + +set_target_properties(${TARGET_NAME} + PROPERTIES + AUTOMOC ON + AUTORCC ON + FOLDER examples) \ No newline at end of file diff --git a/examples/frames/CMakeLists.txt b/examples/frames/CMakeLists.txt index 42a8aefa..c9da2ba7 100644 --- a/examples/frames/CMakeLists.txt +++ b/examples/frames/CMakeLists.txt @@ -1,7 +1,25 @@ -CONFIG += qskexample qskqmlexport +list(APPEND TARGET_RESSOURCES + frames.qrc) -list(APPEND TARGET_RESSOURCES frames.qrc) +list(APPEND TARGET_HEADERS + Frame.h) - list(APPEND TARGET_HEADERS Frame.h) +list(APPEND TARGET_SOURCES + Frame.cpp + main.cpp) - list(APPEND TARGET_SOURCES Frame.cpp main.cpp) +set(TARGET_NAME frames) + +add_executable(${TARGET_NAME} ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_RESSOURCES}) + +target_link_libraries(${TARGET_NAME} + PRIVATE + qskinny + qsktestsupport + qskqmlexport) + +set_target_properties(${TARGET_NAME} + PROPERTIES + AUTOMOC ON + AUTORCC ON + FOLDER examples) \ No newline at end of file diff --git a/examples/glabels/CMakeLists.txt b/examples/glabels/CMakeLists.txt index 778a252e..f42d7e6a 100644 --- a/examples/glabels/CMakeLists.txt +++ b/examples/glabels/CMakeLists.txt @@ -1,5 +1,21 @@ -CONFIG += qskexample qskqmlexport +list(APPEND TARGET_RESSOURCES + glabels.qrc) -list(APPEND TARGET_RESSOURCES glabels.qrc) +list(APPEND TARGET_SOURCES + main.cpp) - list(APPEND TARGET_SOURCES main.cpp) +set(TARGET_NAME glabels) + +add_executable(${TARGET_NAME} ${TARGET_SOURCES} ${TARGET_RESSOURCES}) + +target_link_libraries(${TARGET_NAME} + PRIVATE + qskinny + qsktestsupport + qskqmlexport) + +set_target_properties(${TARGET_NAME} + PROPERTIES + AUTOMOC ON + AUTORCC ON + FOLDER examples) \ No newline at end of file diff --git a/examples/iotdashboard/CMakeLists.txt b/examples/iotdashboard/CMakeLists.txt index 017335ef..867c7b65 100644 --- a/examples/iotdashboard/CMakeLists.txt +++ b/examples/iotdashboard/CMakeLists.txt @@ -73,7 +73,8 @@ add_executable(${TARGET_NAME} ${TARGET_SOURCES} ${TARGET_HEADERS} ${TARGET_RESSO set_target_properties(${TARGET_NAME} PROPERTIES AUTOMOC ON - AUTORCC ON) + AUTORCC ON + FOLDER examples) target_link_libraries(${TARGET_NAME} PRIVATE diff --git a/examples/messageboxQml/CMakeLists.txt b/examples/messageboxQml/CMakeLists.txt index b8d1d692..0eac6563 100644 --- a/examples/messageboxQml/CMakeLists.txt +++ b/examples/messageboxQml/CMakeLists.txt @@ -1,8 +1,21 @@ -CONFIG += qskexample -CONFIG += qskqmlexport - list(APPEND TARGET_RESSOURCES - messagebox.qrc + messagebox.qrc) list(APPEND TARGET_SOURCES - main.cpp + main.cpp) + +set(TARGET_NAME messageboxQml) + +add_executable(${TARGET_NAME} ${TARGET_SOURCES} ${TARGET_RESSOURCES}) + +target_link_libraries(${TARGET_NAME} + PRIVATE + qskinny + qsktestsupport + qskqmlexport) + +set_target_properties(${TARGET_NAME} + PROPERTIES + AUTOMOC ON + AUTORCC ON + FOLDER examples) \ No newline at end of file diff --git a/features/qskconfig.cmake b/features/qskconfig.cmake index 6d438310..93c820f5 100644 --- a/features/qskconfig.cmake +++ b/features/qskconfig.cmake @@ -3,13 +3,10 @@ # This file may be used under the terms of the QSkinny License, Version 1.0 ############################################################################ -set(QSK_VER_MAJ 0) -set(QSK_VER_MIN 0) -set(QSK_VER_PAT 0) -set(QSK_VERSION ${QSK_VER_MAJ}.${QSK_VER_MIN}.${QSK_VER_PAT}) +set(QSK_VERSION ${CMAKE_PROJECT_VERSION}) # trying the PREFIX environment variable first -set(QSK_INSTALL_PREFIX = $ENV{PREFIX}) # TODO still required? +set(QSK_INSTALL_PREFIX $ENV{PREFIX}) # TODO still required? if("${QSK_INSTALL_PREFIX}" STREQUAL "") set(QSK_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") # TODO where does QT_INSTALL_PREFIX come from? @@ -59,8 +56,6 @@ set(MOC_DIR moc) set(OBJECTS_DIR obj) set(RCC_DIR rcc) -list(APPEND QSK_CONFIG QskDll) - option(QskDll "build qskinny as shared library" ON) if(UNIX AND NOT APPLE) @@ -114,41 +109,37 @@ if ("pedantic" IN_LIST CONFIG) set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -pedantic-errors) set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wextra) set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Werror=format-security) - #QMAKE_CXXFLAGS *= -Wlogical-op - - # QMAKE_CXXFLAGS *= -Wconversion - # QMAKE_CXXFLAGS *= -Wfloat-equal - # QMAKE_CXXFLAGS *= -Wshadow - set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wsuggest-override) - # QMAKE_CXXFLAGS *= -Wsuggest-final-types - # QMAKE_CXXFLAGS *= -Wsuggest-final-methods - - # QMAKE_CXXFLAGS *= -fanalyzer + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wlogical-op) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wconversion) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wfloat-equal) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wshadow) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wsuggest-final-types) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wsuggest-final-methods) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -fanalyzer) endif() if ("${CMAKE_CXX_COMPILER}" MATCHES ".*linux-clang") - #QMAKE_CXXFLAGS *= -pedantic-errors - - #QMAKE_CXXFLAGS *= -Weverything - #QMAKE_CXXFLAGS *= -Wno-c++98-compat-pedantic - #QMAKE_CXXFLAGS *= -Wno-global-constructors - #QMAKE_CXXFLAGS *= -Wno-exit-time-destructors - #QMAKE_CXXFLAGS *= -Wno-padded - #QMAKE_CXXFLAGS *= -Wno-float-equal - #QMAKE_CXXFLAGS *= -Wno-undefined-reinterpret-cast - #QMAKE_CXXFLAGS *= -Wno-deprecated - #QMAKE_CXXFLAGS *= -Wno-switch-enum - #QMAKE_CXXFLAGS *= -Wno-keyword-macro - #QMAKE_CXXFLAGS *= -Wno-old-style-cast - #QMAKE_CXXFLAGS *= -Wno-used-but-marked-unused - #QMAKE_CXXFLAGS *= -Wno-weak-vtables - #QMAKE_CXXFLAGS *= -Wno-shadow - #QMAKE_CXXFLAGS *= -Wno-double-promotion - #QMAKE_CXXFLAGS *= -Wno-conversion - #QMAKE_CXXFLAGS *= -Wno-documentation-unknown-command - #QMAKE_CXXFLAGS *= -Wno-unused-macros + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -pedantic-errors) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Weverything) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-c++98-compat-pedantic) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-global-constructors) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-exit-time-destructors) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-padded) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-float-equal) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-undefined-reinterpret-cast) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-deprecated) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-switch-enum) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-keyword-macro) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-old-style-cast) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-used-but-marked-unused) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-weak-vtables) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-shadow) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-double-promotion) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-conversion) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-documentation-unknown-command) + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -Wno-unused-macros) endif() endif() @@ -159,7 +150,7 @@ if ("sanitize" IN_LIST CONFIG) # CONFIG *= sanitize_undefined if ("${CMAKE_CXX_COMPILER}" MATCHES ".*linux-g\\+\\+" OR "${CMAKE_CXX_COMPILER}" MATCHES ".*linux-g\\+\\+-64") - #QMAKE_CXXFLAGS *= -fsanitize-address-use-after-scope + # set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -fsanitize-address-use-after-scope) #QMAKE_LFLAGS *= -fsanitize-address-use-after-scope endif() endif() diff --git a/playground/dialogbuttons/CMakeLists.txt b/playground/dialogbuttons/CMakeLists.txt index 8df071bc..982cd1e7 100644 --- a/playground/dialogbuttons/CMakeLists.txt +++ b/playground/dialogbuttons/CMakeLists.txt @@ -17,4 +17,4 @@ target_link_libraries(${TARGET_NAME} set_target_properties(${TARGET_NAME} PROPERTIES AUTOMOC ON - FOLDER examples) \ No newline at end of file + FOLDER playground) \ No newline at end of file diff --git a/qmlexport/CMakeLists.txt b/qmlexport/CMakeLists.txt index 6e2a2768..f9cd0b6a 100644 --- a/qmlexport/CMakeLists.txt +++ b/qmlexport/CMakeLists.txt @@ -15,12 +15,17 @@ list(APPEND TARGET_SOURCES add_library(${TARGET_NAME} SHARED ${TARGET_SOURCES} ${TARGET_HEADERS}) -set_target_properties(${TARGET_NAME} PROPERTIES - AUTOMOC ON) +set_target_properties(${TARGET_NAME} + PROPERTIES + AUTOMOC ON) target_link_libraries(${TARGET_NAME} PRIVATE - qskinny) + qskinny) + +target_include_directories(${TARGET_NAME} + PUBLIC + ${CMAKE_CURRENT_LIST_DIR}) if(QskDll) target_compile_definitions(${TARGET_NAME}